Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten in mysql DB schreiben geht nicht

Einklappen

Neue Werbung 2019

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

  • Daten in mysql DB schreiben geht nicht

    Hallo, ich bin hier langsam am verzweifeln, ich habe mir ein paar Seiten erstellt, zum eintragen, auslesen, updaten und löschen der Daten in meiner mysql tabelle.

    das auslesen funktioniert so weit:

    auslesen:
    PHP-Code:
    <!-fechtarr.php->
    <html>
    <body>
    <table>
    <?PHP include ("zugriff.inc.php");
    $query "SELECT * FROM Bewerbungen order by Datum_beworben DESC";
    $result mysql_query($query);
    while (
    $line mysql_fetch_array($result)) { ?>


    <table border="1">
      <tr>
        <th><font color="#0000FF">ID</font></th>
        <th><font color="#0000FF">Arbeitgeber</font></th>
        <th><font color="#0000FF">Datum beworben</font></th>
        <th><font color="#0000FF">Ort</font></th>
        <th><font color="#0000FF">Stellenangebot</font></th>
        <th><font color="#0000FF">schriftlich</font></th>
        <th><font color="#0000FF">telefonisch</font></th>
        <th><font color="#0000FF">Email</font></th>
        <th><font color="#0000FF">online</font></th>
        <th><font color="#0000FF">Antwort</th>
      </tr>
      <tr>

    <td style="width:20px"><?PHP echo $line[ID];?></td>
    <td style="width:150px"><?PHP echo $line[Arbeitgeber];?></td>
    <td style="width:120px"><?PHP echo $line[Datum_beworben];?></td>
    <td style="width:120px"><?PHP echo $line[Ort];?></td>
    <td style="width:120px"><?PHP echo $line[Stellenangebot];?></td>
    <td style="width:80px"><?PHP echo $line[schriftlich];?></td>
    <td style="width:80px"><?PHP echo $line[telefonisch];?></td>
    <td style="width:50px"><?PHP echo $line[Email];?></td>
    <td style="width:50px"><?PHP echo $line[online];?></td>
    <td style="width:300px"><?PHP echo $line[Antwort];?></td>
      </tr>
    </table>


     <td><a href="update.php?ID=<?PHP echo $line[ID];?>">Edit</a></td>
     <td><a href="delete.php?ID=<?PHP echo $line[ID];?>">Delete</a></td>

     <?PHP
    }
    mysql_free_result($result);
    mysql_close();
    ?>
    </table><br>
    <a href="insert.php">neuer Eintrag</a>
    </body>
    </html>
    das ist die Site zum einfügen:
    PHP-Code:
    <!-insert.php->
    <html>
    <head>
    <title>insert</title>
    <meta name="author" content="Sebastian Voigt">
    <meta name="editor" content="html-editor phase 5">
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

    <?PHP
    if ($button==" OK ") {
     include(
    "zugriff.inc.php");
     
    mysql_query("INSERT INTO Bewerbungen(ID, Arbeitgeber, Datum_beworben, Ort, Stellenangebot, schriftlich, telefonisch, Email, online, Antwort) VALUES(NULL,'$Arbeitgeber','$Datum_beworben','$Ort','$Stellenangebot','$schriftlich','$telefonisch','$Email','$online','$Antwort')");
     
    mysql_close();
     
    ?>
     Die Daten wurden eingetragen<br>
     <?PHP
    } else { ?>
     <form method="post" action="insert.php">
     <input type="text" name="Arbeitgeber" value="Arbeitgeber"><br>
     <input type="text" name="Datum_beworben" value="Datum_beworben"><br>
     <input type="text" name="Ort" value="Ort"><br>
     <input type="text" name="Stellenangebot" value="Stellenangebot"><br>
     <input type="text" name="schriftlich" value="schriftlich"><br>
     <input type="text" name="telefonisch" value="telefonisch"><br>
     <input type="text" name="Email" value="Email"><br>
     <input type="text" name="online" value="online"><br>
     <input type="text" name="Antwort" value="Antwort"><br>
     <input type="submit" name="button" value=" OK ">
     </form>
     <?PHP
    ?>

     <a href="insert.php">neuer Eintrag</a><br>
     <a href="fetcharr.php">zur Übersicht</a>
    </body>
    </html>
    dies die Seite zum Updaten:
    PHP-Code:
    <!-update.php->
    <html>
    <head>
    <title>update</title>
    <meta name="author" content="Sebastian Voigt">
    <meta name="editor" content="html-editor phase 5">
    </head>
    <body>
    <?PHP include("zugriff.inc.php");
    if (
    $button==" OK ") {
     
    mysql_query("UPDATE Bewerbungen SET ID='ID', Arbeitgeber='$Arbeitgeber', Datum_beworben='$Datum_beworben',  Ort='$Ort', Stellenangebot='$Stellenangebot', schriftlich='$schriftlich', telefonisch='$telefonisch', Email='$Email', online='$online', Antwort='$Antwort', WHERE ID='$ID'");
     
    mysql_close();
     
    ?>
     Die Daten wurden eingetragen<br>
     <a href="fetcharr.php">zur Übersicht</a>
    <? } else {
     $query = "SELECT * FROM Bewerbungen WHERE ID='$ID'";
     $result = mysql_query($query)
     $line = mysql_fetch_array($result);
     ?>
     <form method="post" action="update.php?id=<?PHP echo $ID?>">
     <input type="text" name="Arbeitgeber" value="Arbeitgeber"><br>
     <input type="text" name="Datum_beworben" value="Datum_beworben"><br>
     <input type="text" name="Ort" value="Ort"><br>
     <input type="text" name="Stellenangebot" value="Stellenangebot"><br>
     <input type="text" name="schriftlich" value="schriftlich"><br>
     <input type="text" name="telefonisch" value="telefonisch"><br>
     <input type="text" name="Email" value="Email"><br>
     <input type="text" name="online" value="online"><br>
     <input type="text" name="Antwort" value="Antwort"><br>
     <input type="submit" name="button" value=" OK ">
     </form>
    <? } ?>
    <a href="fetcharr.php">zur Übersicht</a>
    </body>
    </html>
    und dies die Seite zum Löschen:
    PHP-Code:
    <!-delete.php->
    <html>
    <body>
    <?php include ("zugriff.inc.php");
    mysql_query("DELETE FROM Bewerbungen WHERE ID='$ID'");
    mysql_close();
    ?>

    Die Daten wurden gelöscht<br>
    <a href="fetcharr.php">zur Übersicht</a>
    <body>
    <html>


    könnt ihr mir vielleicht erklären warum nix funktioniert?

    hab mir jetzt schon verschiedene tut´s angesehen, aber irgendwie find ich den Fehler nicht....

    mfg

    Sebastian

  • #2
    im Zweifel liegt es daran, dass du die requestbasierte Arbeitsweise eines Webservers mit PHP vergessen hast - zwischen den einzelnen Requests vergisst der Webserver ALLES - du musst also irgendwelche Daten selbst "aufheben" - sei es durch Verwendung von Sessions oder durch versteckte Formularfelder, um den Datensatz beim erneuten Aufruf (absenden eines Formulars) erneut zu identifizieren - brauchst du ja sowohl für Update als auch fürs Löschen

    obendrein scheinen deine Tutorials aus Zeiten von PHP 4 zu stammen .. du wertest ja nichtmal die FormularFelder korrekt aus, weil register_globals nicht gesetzt ist ... entsprechend stellt deine insert.php wohl nichtmal das Formular dar ...

    Schalte Anzeige von Fehlermeldungen ein und kümmere dich um die auftretenden Fehlermeldungen

    Kommentar


    • #3
      ok, vielen dank schon mal für die schnelle Antwort, nur weis ich nicht so ganz wie ich das anstellen soll, da ich relativ neu bin in den Sachen...

      kannst du mir dies bitte näher erklären?

      Kommentar


      • #4
        also register_globals hat bewirkt, dass PHP selbstständig globale Variablen etwa für benutzte FormularElemente angelegt hat

        HTML-Code:
         <input type="submit" name="button" value=" OK ">
        -->
        PHP-Code:
        if ($button==" OK ") { 
        dies funktioniert heute aber nicht mehr, weil register_globals nicht mehr auf ON steht und auch nicht darauf gesetzt werden sollte

        du müsstest jetzt in deinen Scripten sämtliche dieser Variablen aufspüren - im Codeschnipsel halt $button - und ermitteln, wo diese Variable herkommt - in dem Fall halt aus dem Formular -und dieses Formular wird per method="post" abgeschickt, also heißt es heute
        PHP-Code:
        if ($_POST['button']==" OK") { 
        - anstelle deiner alten Variablennamen müsstest du das jetzt überall ersetzen ...

        Kommentar


        • #5
          Achso, ok dann werd ich das heut Abend mal versuchen.

          Vielen dank

          Kommentar


          • #6
            so, ich habe mein Code nun geändert zu folgendem:

            meine insert.html

            PHP-Code:
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
            <
            html>
            <
            head>
            <
            title></title>
            <
            meta name="author" content="Sebastian Voigt">
            <
            meta name="editor" content="html-editor phase 5">
            </
            head>
            <
            body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">



             <
            form method="post" action="insert.php">
             <
            input type="text" name="Arbeitgeber" value="Arbeitgeber"><br>
             <
            input type="text" name="Datum_beworben" value="Datum beworben">JJJJ_MM_TT<br>
             <
            input type="text" name="Ort" value="Ort"><br>
             <
            input type="text" name="Stellenangebot" value="Stellenangebot"><br>
             <
            input type="text" name="schriftlich" value="schriftlich">ja 0 nein<br>
             <
            input type="text" name="telefonisch" value="telefonisch">ja 0 nein<br>
             <
            input type="text" name="Email" value="Email">ja 0 nein<br>
             <
            input type="text" name="online" value="online">ja 0 nein<br>
             <
            input type="text" name="Antwort" value="Antwort"><br>
             <
            input type="submit" name="button" value=" OK ">
             </
            form>



              <
            p></p>
              <
            p></p>
             <
            a href="insert.html">neuer Eintrag</a><br>
             <
            p></p>
             <
            a href="fetcharr.php">zur Übersicht</a>
            </
            body>
            </
            html


            meine insert.php
            PHP-Code:
            <!-insert.php->
            <html>
            <head>
            <title>insert</title>
            <meta name="author" content="Sebastian Voigt">
            <meta name="editor" content="html-editor phase 5">
               </head>
            <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">




            <?PHP include ("zugriff.inc.php");

            $Arbeitgeber $_POST[Arbeitgeber];
            $Datum_beworben$_POST[Datum_beworben];
            $Ort$_POST[Ort];
            $Stellenangebot$_POST[Stellenangebot];
            $schriftlich$_POST[schriftlich];
            $telefonisch$_POST[telefonisch];
            $Email$_POST[Email];
            $online$_POST[online];
            $Antwort$_POST[Antwort];



            mysql_query("INSERT INTO Bewerbungen(ID, Arbeitgeber, Datum_beworben, Ort, Stellenangebot, schriftlich, telefonisch, Email, online, Antwort)VALUES(NULL,'$Arbeitgeber','$Datum_beworben','$Ort','$Stellenangebot','$schriftlich','$telefonisch','$Email','$online','$Antwort')");
            or die(
            mysql_error());

               } /
            php?>


            </body>
            </html>

            Beim Versuch das Formular abzuschicken, bringt mir der Browser imer folgende Meldung:

            Serverfehler
            Beim Abrufen von .../insert.php ist auf der Website ein Fehler aufgetreten. Möglicherweise wird sie gerade gewartet oder ist falsch konfiguriert.
            Vorschläge:
            Laden Sie diese Webseite später erneut.
            HTTP-Fehler 500 (Internal Server Error): Beim Versuch des Servers, die Anforderung zu verarbeiten, ist eine unerwartete Bedingung aufgetreten
            Warum ist dies so?

            Kommentar


            • #7
              } /php?>
              Was ist das?

              - Schliessende Klammer ohne öffnende Klammer
              - /php -> ungültige Syntax

              Kommentar


              • #8
                Oh, verdammt.... das is ja peinlich

                Kommentar


                • #9
                  Leute ich check es nicht...

                  es hapert schon beim Verbindungsaufbau.


                  ich hab mir jetzt folgenden code aus einem videotut abgeschrieben, jedoch bekomme ich immernoch die Fehlermeldung vom Browser.

                  PHP-Code:
                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                  <html>
                  <head>
                  <title>eintragen</title>

                     </head>



                  <?PHP
                    
                  //verbindungsvariablen

                    
                  $host "xxxxx";
                    
                  $user "xxxxx"
                    
                  $passwort "xxxx"
                    
                  $db "xxxx"


                   
                  §verbindung mysql_connect ($host$user$passwort);
                   if (!
                  $verbindung) {
                           echo 
                  "verbindung auf Server <b>".host."</b> konnte nicht hergestellt werden Fehler:".mysql_error();
                   }else{
                           echo 
                  "erfolgreich mit dem Server <b>".host."</b> verbunden!";

                   
                  $selecting mysql_select_db ($db);
                   if (!
                  selecting) {
                           echo 
                  "Datenbank<b>" .db."</b> konnte nicht ausgewaehlt werden! Fehler:".myaql_error();
                   }else{
                           echo 
                  "Datenbank<b>" .db."</b> erfolgreich ausgewaehlt! Fehler:".myaql_error();

                      }
                    }



                  mysql_close($verbindung);

                  ?>

                  </body>
                  </html>

                  ich bekomm ja nichteinmal von der DB ne Meldung, die Seite wird ja nicht einmal geöffnet.

                  In dem TUT geht das auf anhieb, obwohl ich alles genau angeschrieben habe, nur meine verbindungsdaten geändert hab.

                  Diese jedoch stimmen, auf den anderen Seiten funktionieren sie ja auch...


                  Serverfehler
                  Beim Abrufen von .../insert.php ist auf der Website ein Fehler aufgetreten. Möglicherweise wird sie gerade gewartet oder ist falsch konfiguriert.
                  Vorschläge:
                  Laden Sie diese Webseite später erneut.
                  HTTP-Fehler 500 (Internal Server Error): Beim Versuch des Servers, die Anforderung zu verarbeiten, ist eine unerwartete Bedingung aufgetreten


                  edit: es handelt sich um dieses TUT: http://www.youtube.com/watch?v=xG5mP...eature=related

                  Kommentar


                  • #10
                    Bei den Zugangsdaten fehlt das Semikolon am Ende und myaql_error() gibt es auch nicht.

                    Syntaxfehler könntest du wirklich alleine finden. Hast du error_reporting an? Dann müsstest du das sehen, mich wundert nur der 500er Error.

                    Kommentar


                    • #11
                      oh, danke ich seh hier langsam nur noch Striche


                      edit:

                      ok, habs gefunden, hatte anstatt nem "$" ein "§"

                      Kommentar

                      Lädt...
                      X