Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » update Antworten
update

Korp
Otto-Normal-Poster


Beiträge: 57


Hallo ich habe ein kleines Problem
und zwar speichert er die Daten nicht ab. Bzw. updatet sie nicht (siehe code unten)

nur wenn ich alles weg lasse außer email speichert er die email ab.
die variablen sind registriert

Speicher Teil PHP:
mysql_query("UPDATE ylo_user Set email = '$email' , alter = '$alter' , ort = '$ort' WHERE nickname = '$nick'");

Form Teil HTML:
Hier kannst du alle Profil Einstellungen vornehmen.<br><br>
<form action="<? echo $PHP_SELF; ?>" method="get">
E-Mail:<br>
<input type="text" name="email" value="<? echo $member[email]; ?>"><br><br>
Alter: (Tag.Monat.Jahr)<br>
<input type="text" name="alter" value="<? echo $member[alter]; ?>"><br><br>
Wohnort:<br>
<input type="text" name="ort" value="<? echo $member[ort]; ?>"><br><br>
<input type="submit" name="saven" value="Speichern">
</form>


leider kann ich mir das überhaupt nicht erklären. vorallem da er die Email speichert wenn ich den teil von ort und alter raus nehme!

vielen dank im vorraus

greetz Korp


---
Interessen am PC:
html, web design, sql und php

  Profil   E-Mail   Website   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Dein Quellcode ist sehr unsauber.

1. Strings (Texte) kommen in Anführungszeichen - z.B. $member['email']
2. Man nutzt die Superglobalen Variablen $_GET, $_POST und $_REQUEST - z.B. $_REQUEST['email'] (Bei Formularen nutzt man in Normalfall auch post statt getals Methode)
3. Alle Daten für SQL müssen escapt werden - nutze mysql_real_escape_string()
4. nutze $_SERVER['PHP_SELF'] statt $PHP_SELF (globale Variante kann deaktiviert sein)
5. nutze <?php ... ?> (Shorttags können deaktiviert werden)
6. nutze var_dump() um Variableninhalte zu prüfen - z.B. var_dump($_REQUEST);
7. Schreibe SQL-Queries zuerst in einen String, welchen du im Fehlerfall ausgeben und prüfen kannst.
8. nutze
mysql_error() um SQL-Fehler abzufragen.
9. Auch ausgaben für HTML-Attribute müssen behandelt werden - nutze
htmlspecialchars()

---
Weaverslave

  Profil   Website   Editieren   Zitieren

Herr_Zatacke
Otto-Normal-Poster


Beiträge: 90


Nimm mal die Leerzeichen bei den ='s raus.

Dein Code:
1:
email = '$email' , alter = '$alter' , ort = '$ort' 


Teste mal:
1:
email='$email' , alter='$alter' , ort='$ort' 


---
wer and'ren eine bratwurst brät, der hat ein bratwurstbratgerät...

  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Das ist egal. Es scheitert wohl an einem oder mehreren der Punkte von subjective.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Herr_Zatacke
Otto-Normal-Poster


Beiträge: 90


Naja .. Ich hatte vor 2 Tagen das gleiche Problem - und es lag nur an den Leerzeichen -> Fehler war reproduzierbar !
Logisch find ich das auch nicht!! Aber 's is wie's is...


---
wer and'ren eine bratwurst brät, der hat ein bratwurstbratgerät...

  Profil   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Bist du sicher das es ein Leerzeichen war und kein Steuerzeichen, welches dein Editor als Leerzeichen dargestellt hat?

---
Weaverslave

  Profil   Website   Editieren   Zitieren

Korp
Otto-Normal-Poster


Beiträge: 57


ja da bin ich mir absolut sicher bei anderen sachengeht es auch so was ja das komische ist

---
Interessen am PC:
html, web design, sql und php

  Profil   E-Mail   Website   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Also "bei anderen sachen geht es auch" so ist echt keine Aussage.

Schreibe einfachen saubern Code und bau vor allem auch Möglichkeiten zur Fehlerausgabe ein. Dann kannst du sehr einfach debuggen.

---
Weaverslave

  Profil   Website   Editieren   Zitieren

Korp
Otto-Normal-Poster


Beiträge: 57


Also,
das stimmt schon ich arbeite immer viel zu schnell möchte halt voran kommen. Mit PHP und sql kann man schön coole Dinge bauen.
Nun habe ich mal nen Script ganz langsam und ruihg aufgebaut und es lief gleich super. Also danke an den Leuten die gute Tips hier geben mein tip ist nun macht langsam dauert zwar länger aber gleicht mit der Fehler suche aus.

den Fehler habe ich immer noch nicht aber habe es neu geschrieben und es funzt! :]

greetz

---
Interessen am PC:
html, web design, sql und php

  Profil   E-Mail   Website   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Ja manchmal muss man auch einfach noch mal neu bauen.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben