php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.06.2005, 17:18  
Gast
 
Beiträge: n/a
Standard [Erledigt] Probleme mit "

Erst mal ein kurzes Hallo in die Forumrunde.
Mein Problem sieht so aus, dass ich den Inhalt eines Feldes in der mysql Datenbank mit der einer Eingabe Vergleichen möchte, um zu erkennen, ob hier eine Änderung im Text vorgenommen wurde. Das ganze funktioniert so lange, wie keine Sonderzeichen wie " im Text vorhanden sind. Sobal dies vorhanden ist, wird der Text aus dem Formular immer als ungleich dem in der Datenbank gespeichertem Text angezeigt, obwohl er gleich ist.

Bsp1:

Text aus mysql;
Das ist ein Testtext

Text aus Formular übertragen per GET oder POST:
Das ist ein Testtext

Text aus mysql = Text aus Formular

Bsp2:

Text aus mysql;
Das ist ein "Testtext"

Text aus Formular übertragen per GET oder POST:
Das ist ein "Testtext"

Text aus mysql != Text aus Formular

Wie bekomm ich denn nun hin, dass auch in Sonderzeichenfällen die Texte korrekt miteinander verglichen werden???

Danke!!!
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.06.2005, 17:25  
Gast
 
Beiträge: n/a
Standard

Anführungsstriche u.Ä. haben bei MySQL eine Sonderfunktionen und werden deshalb durch vorrangestellte "\" entwertet. Diese "\" müßt Du u.U. vor dem Vergleich entfernen:

stripslashes()
 
Alt 23.06.2005, 17:47  
Gast
 
Beiträge: n/a
Standard

danke für die schnelle Antwort aber geht leider trotzdem nicht, hab mal den quelltext mit angehangen:


<?
$sachverhalt = $_POST['sachverhalt'];

$id = "621";

include("dbconnect.php");

$sqlab = "SELECT * FROM daten where id = $id";

$result_articles = mysql_query ($sqlab);

while ($daten=mysql_fetch_array($result_articles))

{
$sachverhaltdb = stripslashes($daten[sachverhalt]);

if ($sachverhalt != $sachverhaltdb)

{
$sachverhaltaenderung = "veraendert";
}

else

{
$sachverhaltaenderung = "unveraendert";
}


}
echo $sachverhaltaenderung;
?>
 
Alt 23.06.2005, 22:38  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Mit der Option magic_quotes_gpc = on escaped PHP automatisch alle diese Sonderzeichen (', " und \). Das hat den Vorteil, dass du diese Werte z.B. einfach so in SQL-Queries einsetzen kannst (solange du sichergehen kannst, dass nemnad diese Option abschaltet). Lass dir einfach mal beide Werte ausgeben, dann siehst du das Problem. Den Lösungsansatz hat "Idefix83" ja bereits genannt.

Sauber - in meinen Augen - ist es, am Beginn des Skriptes die Option zu überprüfen und ggf. die Backslashes wieder zu entfernen und die Werte dann dort und derart zu escapen, wo und wie es dann eben notwendig ist.

Basti
Basti ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Firefox / IE - Probleme HTML, Usability und Barrierefreiheit 5 20.07.2009 17:04
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Probleme mit mbstring extension unter Debian HStev Server, Hosting und Workstations 3 30.08.2006 20:55
Probleme mit Rechteverteilung chmod() per script!!!??? Funky_ PHP Tipps 2006 7 17.06.2006 17:10
Probleme bei der Installation von Turck MMCache tomx992 PHP-Fortgeschrittene 2 27.09.2005 20:31
Probleme beim Datenupload zu meiner Datenbank Datenbanken 3 05.09.2005 19:47
Probleme mit Sonderzeichen... Datenbanken 1 02.08.2005 23:37
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
[Erledigt] CSV Größe macht Probleme mit php PHP Tipps 2005 5 15.03.2005 21:29
Performances Probleme bei z.B. LIMIT 300000,10 Datenbanken 28 13.02.2005 10:57
Zwei Rechner ins Netz - Router - Hub - Probleme... imported_Ben Off-Topic Diskussionen 37 13.01.2005 21:36
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
[Erledigt] Probleme mit Fremdsprachen HTML, Usability und Barrierefreiheit 2 21.09.2004 17:11
Auslesen eines Ordner bringt Probleme PHP Tipps 2004 2 09.06.2004 13:56
PHP Bilder in DB / Probleme bei Änderung PHP-Fortgeschrittene 1 05.06.2004 11:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
formular &quot; sonderzeichen, &quot probleme

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.