Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Datentransfer

Einklappen

Neue Werbung 2019

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

  • Problem mit Datentransfer

    Hallo alle zusammen!
    Ich weiß das hier im Forum sicherlich schon diverse Male ähnliche Probleme behandelt wurden. Ich habe mich ausführlich mit den Ergebnissen von Google, bezüglich meines Problems beschäftigt, aber bin leider nicht auf eine Lösung gestoßen.
    Nun aber zunächst Mal das Problem:
    Also ich habe ein Formular das so aus sieht
    Code:
     <h2>Hinzuf&uuml;gen</h2>
    
          <form  method="post" action="add.php">
    
          <table>     
    
            <tr>
    
              <td width="50">ID:</td>
    
              <td colspan="2"><input type="text" name="ID" ></td>
    
            </tr>
    
            <tr>
    
              <td width="50">Name:</td>
    
              <td><input type="text" name="nachname" ></td>
    
            </tr>
    
            <tr>
    
              <td width="50">Vorname:</td>
    
              <td><input type="text" name="vorname" ></td>
    
            </tr>
    
            <tr>
    
              <td width="50">Arbeit:</td>
    
              <td><input type="text" name="work" ></td>
    
            </tr>
    
            <tr>
    
              <td width="50">Hinweis:</td>
    
              <td><input type="text" name="comments" ></td>
    
            </tr>   
    
          
    
          </table>
    
          <table>
    
            <tr>
    
              <td width="50">Geburtstag:</td>
    
              <td><input type="text" name="year"  size="4" maxlength="4" >-</td>
    
              <td><input type="text" name="month"  size="2" maxlength="2">-</td>
    
              <td><input type="text" name="day"  size="2" maxlength="2"></td>
    
            </tr> 
    
            <tr>
    
              <td></td>
    
              <td><input type="submit" value="edit"/></td>
    
            </tr> 
    
            </table>
    
          </form>
    über Post werden also die definierten werte an das PHP Script add.php weitergeleitet um von diesem zu einer MySQL Datenbank hinzuzugefügt zu werden.
    Das Script sieht so aus:
    PHP-Code:
    <?php
    //Variablen zuweisen
    $ID $_POST["ID"];
    $nachname $_POST["nachname"];
    $vorname $_POST["vorname"];
    $year $_POST["year"];
    $month $_POST["month"];
    $day $_POST["day"];
    $work $_POST["work"];
    $comments $_POST["comments"];


    if ((
    $ID=="")) {
            echo 
    "Fehler: ID nicht eingetragen.";
            die; 
    }
    elseif ((
    $nachname=="")) {
            echo 
    "Fehler: Name nicht eingetragen.";
            die; 
    }
    elseif ((
    $vorname=="")) {
            echo 
    "Fehler: Vorname nicht eingetragen.";
            die; 
    }
    elseif ((
    $year=="")) {
            echo 
    "Fehler: Geburtsjahr nicht eingetragen.";
            die; 
    }
    elseif ((
    $month=="")) {
            echo 
    "Fehler: Geburtsmonat nicht eingetragen.";
            die; 
    }
    elseif ((
    $day=="")) {
            echo 
    "Fehler: Geburtstag nicht eingetragen.";
            die; 
    }

    //Verbindung herstellen
    $datenbank mysql_connect("localhost","root","") or die ("Verbindung fehlgeschlagen: ".mysql_error());
    $verbunden mysql_select_db("inhabits") or die ("Datenbank nicht gefunden oder fehlerhaft");

    //Daten in DB speichern
    $sql_befehl mysql_query("INSERT INTO inhabits (ID, name, vorname, birth) VALUES ('$_POST[ID],'$_POST[nachname]','$_POST[vorname]','$_POST[year]-$_POST[month]-$_POST[day]')");

    if(
    $sql_befehl)
    { echo 
    "Ihr Eintrag wurde hinzugefügt."; }

    //Verbindung beenden
    mysql_close($datenbank);  
    ?>
    Also wie ihr seht werden erst alle eingetragenen Daten auf Vollständigkeit überprüft, danach wird die Verbindung auf gebaut und anschließen wird alles eingetragen.
    Falls irgendetwas nich funktioniert kommt eine Fehlermeldung.
    Bis zu der Dateneintragung funktioniert das auch, hab ich ausprobiert.
    Wenn ich jetzt aber alles richtig eintrage und dann Eintragen lassen möchte kommt nur ein weißer Bildschirm, also keine Fehlermeldung, aber in der Datenbank steht auch nichts.
    Ich habe da jetzt drei Tage dran rumgebastelt und bin auf nichts gekommen,
    also bitte helft mir!
    Vielen Dank im forraus

  • #2
    Der weiße Bildschirm kommt, weil du kein header() gesetzt hast.
    Mach mal das:
    PHP-Code:
    if($sql_befehl){ 
       echo 
    "Ihr Eintrag wurde hinzugefügt.";
    }else{
       echo 
    mysql_error();

    Dann müssete eine Fehlermeldung kommen, vllt. hilft sie dir weiter
    ACHTUNG!!! SIGNATUR!!!
    PHP-Code:
    var_dump($gehirn); exit; 
    0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

    Kommentar


    • #3
      Einfach zusätzlich den Fehlerfall prüfen ....

      Code:
      if($sql_befehl)  { 
       echo "Ihr Eintrag wurde hinzugefügt."; 
      } else {
       die('Ungültige Abfrage: ' . mysql_error());
      }
      12:45 --- unendschieden!!

      Ausserdem:

      also bitte helft mir!
      Vielen Dank im forraus
      Auch nach der Rechtschreibreform wäre korrekt:
      Vielen Dank im Voraus




      Grüße
      Thomas

      Kommentar


      • #4
        Bitte einmal Debugging:Leitfaden - PHP.de Wiki lesen. Dann entsprechend Fehleranzeige aktivieren ...

        Kommentar


        • #5
          Setz dein SQL-Statement mal als separaten String rein und lass dir den ausgeben, bevor du das mysql_query() abschickst. Nach mysql_query() kannst du übrigens auch mit mysql_error() prüfen. Solltest du in diesem Fall auch, dass mit dem Variablen funktioniert so warscheinlich nicht. Ich verstehe auch nicht, warum du für die Prüfung die Variablen mapst, im SQL-Statement aber wieder die POST-Variablen nutzt. Entscheide dich lieber und benutze explizite Stringverknüpfung.

          Quakenet/#php Tutorial - de - Verkettungsoperator
          [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

          Kommentar


          • #6
            Bitte einmal Debugging:Leitfaden - PHP.de Wiki lesen.
            Leider steht da immer noch nicht so richtig viel gutes drinnen.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              Faszinierend! Ich habe jetzt den "else" Teil hinzugefügt und die Variablen von der Abfrrage einfügen lassen und es funktioniert.
              Das mit den Variablen hatte ich auch schon früher einmal so gemacht.
              Kann es dann sein das es nur an der "else" Anweisung lag?
              Auf jeden Fall, vielen Dank für eure Hilfe!

              @ thomas w -jetzt hab ich dreizehn Jahre die Schulbank gedrückt und richtig schreiben kann ich immer noch nichtl -Sorry!

              Kommentar


              • #8
                Nein nur an einem else liegt es nicht. Dies ist optional und nicht nötig.

                Kommentar


                • #9
                  Hab ich mir auch gedacht!
                  Jetzt funktionierts ja! Tritzdem würde es ich interessieren an was es denn nun letztendlich lag.

                  Kommentar


                  • #10
                    Ja uns auch ....

                    Kommentar

                    Lädt...
                    X