Update mit Variable funktioniert nicht????

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    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!

    Kommentar


    • #17
      Du stehst vor deinem eigenen Code wie ein Schwein vorm Uhrwerk.

      Woher weißt du eigentlich, dass es mit 'hallo' klappt? Mal alles aus der Tabelle gelöscht und dann versucht?
      Was gibt echo $sql; aus, wenn du es mit 'hallo' versuchst?

      Kommentar


      • #18
        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


        • #19
          mit hallo funzt es, aber mit einer Zahl, zum Beispiel 234, da kommt eine Fehlermeldung. Hat das was zu bedeuten?

          Kommentar


          • #20
            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']. "'");
            ?>
            Dann kann ich wenigstens der Variablen Zahlen vom Formular übergeben, die trägt er dann in die Spalte ein, aber keine Buchstaben. Nur Zahlen, aber keine Buchstaben. Sobald ein Buchstabe dabei ist, trägt er den Variableninhalt nicht mehr in die Tabelle ein. Ich versteh das nicht...

            Kommentar


            • #21
              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.
              Und woher weißt du, dass es dort durch deinen letzten Versuch landete und nicht schon viel länger drin steht? Deswegen mal alles aus der Tabelle löschen!

              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


              • #22
                Jemandem, der "echo $sql" nicht einmal beim zweitenmal begriffen hat, ist nicht zu helfen. Wie ein Gärtner, der das Wort Gartenschlauch nicht versteht.

                Kommentar


                • #23
                  Was soll denn die Beleidigung. Ich hab $sql jawohl ausgeben lassen. Was soll das? Trag lieber was zu meinem Problem bei, als mich zu beleidigen!

                  Kommentar


                  • #24
                    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


                    • #25
                      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


                      • #26
                        Original geschrieben von LOLLe
                        also gut, dann poste ich mal den Rest.
                        Und jetzt liest du bitte die Regeln, und brichst den Code um, so dass man nicht meterweit querscrollen muss, Danke.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #27
                          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


                          • #28
                            Es heißt method="post" und dementsprechend $_POST['mail'].

                            http://www.php.net/manual/en/security.globals.php

                            Kommentar


                            • #29
                              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


                              • #30
                                Original geschrieben von LOLLe
                                PHP-Code:
                                mysql_query ("UPDATE zbasar_registrieren SET email1 = '$_POST[mail]' WHERE ..."
                                Würdest du dich bitte mit den Grundlagen beschäftigen, damit wir dir hier nicht alles haarklein vorkauen müssen?

                                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

                                Lädt...
                                X