leider nein. Ich weiß auch wirklich nicht, an was es liegen kann. Wie gesagt, wenn ich statt $mail zum Beispiel hallo hinschreibe, dann trägt er es ein. Es kann also nur an der Variablen liegen. Aber ich kann die Variable auch mit echo auslesen, das funktioniert auch. Also ich versteh die Welt nicht mehr. Trotzdem vielen Dank bis jetzt!
Update mit Variable funktioniert nicht????
Einklappen
X
-
Hi,
dass es mit Hallo klappt weiß ich daher, da ich in meiner SQL-Tabelle nachgeguckt habe und da steht es drin. Ich hab jetzt mal meine Variable durch hallo ersetzt und da steht dann:
UPDATE zbasar_registrieren SET email1='hallo' WHERE (benutzername='reichelt')
also eigentlich genau das gleiche, wie wenn ich die Variable benutze. Da ist dann aber schon mal auszuschließen, dass sich die Variable die Werte nicht merken kann, denn sie werden ja angezeigt.
Kommentar
-
Jetzt hab ich was cooles rausgefunden, wenn ich es so schreibe:
PHP-Code:
<?
mysql_select_db("m3101-1");
mysql_query ("UPDATE zbasar_registrieren SET email1= $mail WHERE benutzername='" .$_SESSION['user']. "'");
?>
Kommentar
-
Original geschrieben von LOLLe
dass es mit Hallo klappt weiß ich daher, da ich in meiner SQL-Tabelle nachgeguckt habe und da steht es drin.
Für das "Wunder" bzgl. Zahlen und Buchstaben gibt es eine ganz banale Erklärung: http://dev.mysql.com/doc/refman/5.1/en/data-types.html
Kommentar
-
Lieber OP, die Beleidigung, wenn schon, besteht darin dass Du auf die Aufforderung echo $sql zweimal geschrieben hast, es komme "1" heraus, und die Diagnosemethode mit dem 'hallo' ebenfalls nur knapp begriffen. Ich trage gerne zu deinem Problem bei. In Deinem geposteten php Code, inklusive geposteter UPDATE Befehl ist KEIN Fehler. Der Fehler liegt irgendwo sonst in der weiten Welt, somit: Poste mal den Rest.
Kommentar
-
also gut, dann poste ich mal den Rest. An was es noch liegen kann, wäre ja dann am Formular, sonst gibt es ja wahrscheinlich keine Fehlerquelle mehr. Hier ist der letzte Teil der Seite demail.php, die das Formular an demail2.php schickt. Vielleicht erkennt da ja jemand einen Fehler. Was ich einfach komisch finde und zu dem auch noch keiner was richtiges geschrieben hat, ist das Phänomen, dass ich zwar Zahlen, aber keine Wörter, also Buchstaben, eintragen lassen kann.
PHP-Code:<FORM method=post ACTION="demail2.php" name="aendern">
<table align="center">
<tr>
<td>
<table background=#6A6A58 bordercolor=#FFFFFF
border=1 cellspacing=0 cellpadding=6 style=border:
medium align=center>
<tr>
<td> <span style="font-size:9pt">
<font face="VERDANA,ARIAL,HELVETICA">
<font color="#FFFFFF">Neue E-Mailadresse:
<input type="text" class="feldmail" name="mail" value="">
</td>
</tr>
</table>
<br>
<table align="left" width="100%">
<tr>
<td class="linkmitte"> <span style=font-size:9pt>
<font face=VERDANA,ARIAL,HELVETICA><font color=#FFFFFF>
<img src="pfeill.gif" width="8" height="10" border="0" alt="">
<a href='javascript:history.back()'>zurück</a> </td>
<td class="linkmitte" align="right">
<img src="pfeilr.gif" width="8" height="10" border="0" alt="">
<span style="font-size:9pt">
<font face="VERDANA,ARIAL,HELVETICA">
<font color="#FFFFFF">
<a href="javascript: document.aendern.submit()">E-Mailadresse ändern</a> </td>
</tr>
</table>
</td>
</tr>
</table>
</form>
Zuletzt geändert von LOLLe; 08.05.2006, 14:08.
Kommentar
-
-
Hi,
hab jetzt noch was rausgefunden, was eigentlich beweist, dass die Variable von demail.php leer ist, wenn ich Buchstaben eingeben und belegt ist, wenn ich Zahlen eingebe. Folgende if-Bedingung hab ich in demail2.php geschrieben:
if($mail=="")
{
$mail = "fehler";
}
Er schreibt mir tatsächlich "fehler" in meine Datenbank, wenn ich Buchstaben eingebe. Ah moment, wenn ich Zahlen eingebe, schreibt er mir auch fehler rein. Das ist doch ein verzwickstes scheiß Problem....
Kommentar
-
Es heißt method="post" und dementsprechend $_POST['mail'].
http://www.php.net/manual/en/security.globals.php
Kommentar
-
Hi,
hab probiert, es zu verbessern, aber es klappt immer noch nicht. Hab mit der Zeichensetzung schon 20 Varianten ausprobiert.
<?
mysql_select_db("m3101-1");
mysql_query ("UPDATE zbasar_registrieren SET email1 = '$_POST[mail]' WHERE benutzername='" .$_SESSION['user']. "'") or die(mysql_error());
?>
Das hier klappt mal nicht. Muss ich auch was in demail.php ändern, also dort, wo das Formular steht, oder nur in demail2.php?
Kommentar
-
Original geschrieben von LOLLe
PHP-Code:mysql_query ("UPDATE zbasar_registrieren SET email1 = '$_POST[mail]' WHERE ...")
Strings: Variablen-Analyse (parsing)
Array do's und don'ts: Warum ist $foo[bar] falsch?I don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
Kommentar