php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 13-05-2007, 00:35
deathcakeman
 Registrierter Benutzer
Links : Onlinestatus : deathcakeman ist offline
Registriert seit: Aug 2006
Beiträge: 134
deathcakeman ist zur Zeit noch ein unbeschriebenes Blatt
Standard String vergleich

Hallo Leute.
Also bei mir hängst gerade an nem scheinbar einfachen Problem. Aber ich komm einfach nicht weiter.

Ich arbeite gerade an einem Private-Mesasge code.
Damit niemand bsp. per F5-Drücken eine Nachricht mehrmals verschicken kann, überprüfe ich den aktuell eingegebenen Text mit einem Wert aus der DB.

Ausgabe (im Quellcode):
Eingabe des Nutzers:
Zitat:
fdghfhfhf<br />\r\ngh<br />\r\ndf<br />\r\nhdf<br />\r\ngh<br />\r\ndfg<br />\r\nh<br />\r\ngfh<br />\r\ndf
Aus der DB:
Zitat:
fdghfhfhf<br />
gh<br />
df<br />

hdf<br />
gh<br />
dfg<br />
h<br />
gfh<br />
df
Irgendwie hat der da "\r\n" mit im String stehen.
Meine Funktion um den $text zu zu escapen:

PHP-Code:
private function checktext($text) {
$text mysql_escape_string(nl2br(wordwrap(
htmlentities($textENT_QUOTES), 60"<br>\n"1)));

return 
$text;

Würde mich sehr über Hilfe freuen. mfg
__________________
*blubb*
Mit Zitat antworten
  #2 (permalink)  
Alt 13-05-2007, 01:42
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: String vergleich

Zitat:
Original geschrieben von deathcakeman
Würde mich sehr über Hilfe freuen. mfg
hast du auch eine frage dazu?
das f-5-problem kann man z.b. mittels header-weiterleitung umgehen. denkbar wäre auch, dass du ein eindeutiges formular-token in der session hinterlegst und nur dann den db-eintrag vornimmst, wenn es existiert.
Mit Zitat antworten
  #3 (permalink)  
Alt 13-05-2007, 12:19
deathcakeman
 Registrierter Benutzer
Links : Onlinestatus : deathcakeman ist offline
Registriert seit: Aug 2006
Beiträge: 134
deathcakeman ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja.
Ich würde gerne wissen, warum 2 identische Eingaben versch. interpretiert werden, bzw. warum bei dem einen String "\r\n" mit ausgegeben wird. Wenn ich die "Eingabe" aber aus der Datenbank hole, tritt dieses "Phänomen" jedoch nicht mehr auf.

(Oben stehen ja die Ausgaben der beiden Strings)
__________________
*blubb*
Mit Zitat antworten
  #4 (permalink)  
Alt 13-05-2007, 17:52
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

immer schön var_dumps der daten ausgeben und über quelltextansicht des browsers vergleichen.
Mit Zitat antworten
  #5 (permalink)  
Alt 13-05-2007, 21:11
deathcakeman
 Registrierter Benutzer
Links : Onlinestatus : deathcakeman ist offline
Registriert seit: Aug 2006
Beiträge: 134
deathcakeman ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
var_dump() (aus der Usereingabe
string(319)
"sdfsdfsf<br />\r\nk<br />\r\nk<br />\r\nk<br />\r\nk
<br />\r\nk<br />\r\nk<br />\r\nk<br />
\r\n&auml;&auml;&ouml;&auml;&ouml<br>
<br />\n;&auml;&ouml;&auml;&ouml;&auml;
<br />\r\n&ouml;&auml;<br />\r\n&ouml;&auml;<br />\r
<br><br />\n<br />\n\r<br />\n&ouml;&auml;
br />\r\n&ouml;&auml;<br />
\r\n##''''"

var_dump() (aus der DB):

string(289) "sdfsdfsf<br />

k<br />
k<br />
k<br />
k<br />
k<br />
k<br />
k<br />
&auml;&auml;&ouml;&auml;&ouml<br><br />
;&auml;&ouml;&auml;&ouml;&auml;<br />

&ouml;&auml;<br />
&ouml;&auml;<br />
<br><br />
<br />
<br />
&ouml;&auml;<br />
&ouml;&auml;<br />
##''''"
Also. Ich hab echt keine Ahnung voran das liegen könnte.

Das ich habe mehrmals den selben Text abgeschickt. Der "abgeschickte" wird dann der UPDATE in die DB eingefügt.
Dh.-->beide Eingaben sind 100% identisch.
Nur bei der DB Ausgabe wurden \r und \n als Zeilenumbrücje ausgegeben.

meine Frage jetzt. Weiß jmd woran das liegen könnte?
(Die Funktion zum "bearbeiten" des Strings steht in meinem ersten Post)
__________________
*blubb*
Mit Zitat antworten
  #6 (permalink)  
Alt 14-05-2007, 00:05
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

zum einen sollte es dich nicht wundern: \r\n ist in der tat ein zeilenumbruch. wenn du die zeichenkette "backslash-r-backslash-n" benötigst, solltest du diese entsprechend escapen (evtl. sogar bei der eingabe).

zum anderen ist dein ansatz verkehrt (unperformant und unsicher). mach es lieber auf die von 3dmax beschriebene art.
Mit Zitat antworten
  #7 (permalink)  
Alt 14-05-2007, 08:27
deathcakeman
 Registrierter Benutzer
Links : Onlinestatus : deathcakeman ist offline
Registriert seit: Aug 2006
Beiträge: 134
deathcakeman ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mkay..wenn du meinst.

Noch eine Frage. Wieso ist dieser Ansatz unsicher?

mfg
__________________
*blubb*
Mit Zitat antworten
  #8 (permalink)  
Alt 14-05-2007, 11:51
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

naja, kannst du dir denn sicher sein, dass der textvergleich auf beliebigen codierungen richtig funktioniert? oder: kannst du dir sicher sein, dass es nicht absicht war, zwei mal das gleiche zu sagen? (in diesem forum z.b. muss man vielen leuten die sachen fünf mal sagen, bis sie diese verstehen).
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

myExplorer

explorer-ähnliche Darstellung von Verzeichnisinhalten. Ideal für Downloadordner. Möglichkeit Filter zu definieren um nur bestimmte Dateien/Ordner darzustellen. Sehr leicht einzubinden.

16.07.2019 bmitt | Kategorie: PHP/ File
WebAudio Player

Dieser Music-Player demonstriert, was mit der WebAudio-API so alles möglich ist. Er ist dazu gedacht, dass ihr euren Besuchern Musik auf der eigenen Homepage anbieten könnt.

16.07.2019 numaek | Kategorie: JAVASCRIPT/ sonstig
Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:45 Uhr.