Seite 1 von 2

einträge in mysql mit formularen

Verfasst: 27.09.2011 14:55
von lodosbaer
habe schwierigkeiten mit 'insert into'
habe vielleicht schon zu lange auf das script geschaut, daß ich nichts mehr erkenne . Ich kann die Seite aufrufen, aber die daten werden nicht in die datenbank geschrieben. Wäre dankbar für hilfe. hier mein script:

Code: Alles auswählen

 <?php

       $link = mysql_connect('host', 'user', 'pw');
       $db = mysql_select_db('DB',$link);
       ?>
<head>
         
</head>

<body>

  <div id="divadmin">
    <form  action="x.php" method="post">

      <input type="hidden" name="insert" value="form" />
     <table cellspacing="20" style="">
     <tr>
        <td  class="tdlab">code:</td>
        <td><input type="text" size="20" maxlength="20" name="code"/></td>
      </tr>
     <tr>
        <td class="tdlab">nom:</td>
        <td><input type="text" size="20" maxlength="20"  name="nom" value=""/></td>
      </tr>
      <tr>
        <td class="tdlab">adresse:</td>
        <td><input type="text" size="20" maxlength="20"  name="adresse" value=""/></td>
      </tr>
      <tr>
        <td class="tdlab">plz:</td>
        <td><input type="text" size="20" maxlength="20"  name="plz" value=""/></td>
      </tr>
      <tr>
        <td class="tdlab">ville:</td>
        <td><input type="text" size="20" maxlength="20"  name="ville" value=""/></td>
      </tr>
      <tr>
        <td class="tdlab"></td>
        <td><input type="submit" name="insert" value="Save" /></td>
      </tr>
    </table>


      <?php
      if (isset($_POST['code'])){$code=$_POST['code'];}
      if (isset($_POST['nom'])){$nom=$_POST['nom']; }
      if (isset($_POST['adresse'])){$adresse=$_POST['adresse']; }
      if (isset($_POST['plz'])){$plz=$_POST['plz'];}
      if (isset($_POST['ville'])){$ville=$_POST['ville'];}
      $sql_insert='INSERT INTO clients ( code,nom, adresse,plz, ville)
        VALUES('.$code.','.$nom.','.$adresse.','.$plz.','.$ville.')';
      mysql_query($sql_insert,$link);
        ?>
    </form>
  </div>

  </body>
</html>

Re: einträge in mysql mit formularen

Verfasst: 27.09.2011 20:37
von canonknipser
Da jedes Script in einer eigenen Transaktion läuft, musst du vor dem Insert einen Connect zur Datenbank herstellen ;)

Das hat aber nix mit phpbb zu tun - das ist php mit mysql-Grundlagen-Wissen ;)

Re: einträge in mysql mit formularen

Verfasst: 27.09.2011 20:41
von Pyramide

Re: einträge in mysql mit formularen

Verfasst: 27.09.2011 22:47
von lodosbaer
vielen dank für die schnelle hilfe! nur,das verändert nichts.die datenbank bleibt leer.

Re: einträge in mysql mit formularen

Verfasst: 28.09.2011 05:04
von canonknipser
lodosbaer hat geschrieben:vielen dank für die schnelle hilfe! nur,das verändert nichts.die datenbank bleibt leer.
-> http://www.php-kurs.com/formularauswertung-mit-php.htm

Re: einträge in mysql mit formularen

Verfasst: 28.09.2011 11:37
von Charlie_M
Lass dir mal den Fehler ausgeben:

Code: Alles auswählen

$result= mysql_query($sql_insert) or die("Anfrage fehlgeschlagen: " . mysql_error());
Danach den Speicher wieder freigeben mit:

Code: Alles auswählen

$db->sql_freeresult($result);

Re: einträge in mysql mit formularen

Verfasst: 28.09.2011 20:29
von canonknipser
Charlie_M hat geschrieben:Lass dir mal den Fehler ausgeben:

Code: Alles auswählen

$result= mysql_query($sql_insert) or die("Anfrage fehlgeschlagen: " . mysql_error());
Danach den Speicher wieder freigeben mit:

Code: Alles auswählen

$db->sql_freeresult($result);
Prophezeihung:
Da wird kein Fehler sein (außer ggf. ein "duplicate key" :angel:)

Er schreibt leere Daten in die Tabelle, weil er direkt nach der Anzeige des (leeren) Formular die Daten aus den (nicht vorhandenen, weil noch kein POST-Request abgesetzt wurde) POST-Daten ausliest ;)

Re: einträge in mysql mit formularen

Verfasst: 28.09.2011 22:08
von Charlie_M
Hmm...hätte den Code doch genauer anschauen sollen. Bin davon ausgegangen daß man den Variablen-Inhalt überprüft BEVOR man in die Tabelle kritzelt.

[x] canonknipser zustimm :oops:

Eine Fehlerauswertung ist allerdings auch nicht falsch - ebenso den Speicher wieder freizugeben :P

Re: einträge in mysql mit formularen

Verfasst: 28.09.2011 22:14
von canonknipser
Charlie_M hat geschrieben:Hmm...hätte den Code doch genauer anschauen sollen. Bin davon ausgegangen daß man den Variablen-Inhalt überprüft BEVOR man in die Tabelle kritzelt.

[x] canonknipser zustimm :oops:
Deswegen hatte ich oben den Link auf den php-Kurs mit dem Affenformular gesetzt ;)
Charlie_M hat geschrieben:Eine Fehlerauswertung ist allerdings auch nicht falsch - ebenso den Speicher wieder freizugeben :P
Ach, Errorhandling wird maßlos überbewertet :D

Re: einträge in mysql mit formularen

Verfasst: 29.09.2011 11:57
von lodosbaer
stimmt,es gibt keine fehlermeldung, hattr das vorher achon versucht.
habe nicht ganz verstanden was es mit dem POST-Request zu tun hat.
für nähere erklärung, vielleicht mit script? wäre ich sehr dankbar.
lodosbaer