Tabelle ist ohne Inhalt aber fortlaufende ID

Nutzer

Grünschnabel
Hallo,

bin neu hier. Habe über Strato das Mysql 4.0.

Bin seit kurzem dabei mich ein bisschen in php und sql einzuarbeiten.

Möchte jetzt ein fertiges Anmeldde-Formular in eine Datenbank bringen.

Habe bereits das Formular als html-Datei gespeichert.
Im Quelltext habe ich dann die Datei schueler.php angegeben, auf dieser Seite soll dann der Dankestext für die erfolgreiche Versendung erscheinen.Habe ich alles soweit hinbekommen. Nach Abschicken des ausgefüllten Formulares macht der Browser dann die schueler.php auf mit dem Dankestext. Zugleich ist in dieser schueler.php folgendes hinterlegt:


HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Übergabe der Schuelerdaten</title>
<style type="text/css">
<!--
.Stil1 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12pt;
}
-->
</style>
</head>
<?php
$id="id";
$id="nachname";
$id="vorname";
$id="strasse2";
$id="plz2";
$id="wohnort2";
$id="vorwahl_telefon";
$id="telefon";
$id="vorwahl_fax";
$id="fax";
$id="email2";
$id="land";
$id="beratung";
$id="nachname_schueler2";
$id="vorname_schueler2";
$id="geschlecht";
$id="alter2";
$id="schultyp";
$id="klasse";
$id="product";
$id="faecher";
$id="sonstige_faecher";
$id="wer";
$id="wie_oft";
$id="lehrergeschlecht";
$id="terminwuensche";
$id="empfehlung";
$id="bemerkung";
require("mysql.connect.php");

$sql = mysql_query("INSERT INTO tabelle_schueler (id, nachname, vorname, strasse2, plz2, wohnort2, vorwahl_telefon, telefon, vorwahl_fax, fax, email2, land, beratung, nachname_schueler2, vorname_schueler2, geschlecht, alter2, schultyp, klasse, product, faecher, sonstige_faecher, wer, wie_oft, lehrergeschlecht, terminwuensche, empfehlung, bemerkung)
  VALUES('$id', '$nachname', '$vorname', '$strasse2', '$plz2', '$wohnort2', '$vorwahl_telefon', '$telefon', '$vorwahl_fax', '$fax', '$email2', '$land', '$beratung', '$nachname_schueler2', '$vorname_schueler2', '$geschlecht', '$alter2', '$schultyp','$klasse', '$product', '$faecher', '$sonstige_faecher', '$wer', '$wie_oft', '$lehrergeschlecht', '$terminwuensche', '$empfehlung', '$bemerkung')") or die (mysql_error())

?>

<p><img src="http://url/images/logo.gif" width="233" height="138" alt="xxxxxxxxxx"></p>
<p>&nbsp;</p>
<p class="Stil1">Hallo Herr/ Frau        <?php echo $_POST['nachname']; ?>.</p>
<p class="Stil1"> Danke fuer Ihren Eintrag.  </p>
<p class="Stil1">Sie wurden erfolgreich in die Datenbank aufgenommen.  </p>
<p class="Stil1">&nbsp;</p>
<p class="Stil1">xxxxxxxxxxxxxx</p>
</body>
</html>

Die schueler.php spricht somit die tabelle_schueler in meiner Datenbank an und trägt dann eigentlich die eingegebenen Daten in die betreffenden Felder.

Die tabelle_schueler habe ich angelegt und sie wird dann auch angesprochen.
Habe die Daten dann von 3 eingegebenen Datensätzen über eine Excel-Tabelle exportiert.
Aber es sind nur die 3 id drin - also die 3 fortlaufenden Nummern - und dann die leeren Tabellenfelder !!

Anbei die angelegte Tabelle als jpg-Datei!!

Warum spricht er nur die 3 id's an und macht die fortlaufend und sonst kein Eintrag ?

Komisch, gell

Woran liegt das denn

Danke schon mal im voraus.



Hinweis: habe die letzten 2 Einträge der ids in Tabelle gelöscht!!
 

Anhänge

  • 27214attachment.jpg
    27214attachment.jpg
    67,2 KB · Aufrufe: 11
Zuletzt bearbeitet:
Ich tippe mal da drauf, weil du alle Variablen $id nennst, und bei der Datenbank Insert Option sind es aber verschiedene Variablen...des weiteren nutz mal:

PHP:
echo mysql_errno() . ": " . mysql_error() . "\n";

lg
 
Hallo Sascha,

also das mit den id könnte ja schon sein - hast ja vielleicht Recht - wäöre ich nicht draufgekommen !!

Also dann immer

$nachname

?

wie schreibe ich das dann richtig, wenn nicht:

<?php
$id="id";
$id="nachname";
$id="vorname";
$id="strasse2"; usw.



Im meinem Formulartext ist nämlich immer so die Rede

HTML:
</tr>
                      </tr>
                      <tr>
                        <td width="17%" bgcolor="#EAEAEA">
                          <div align="right">*Nachname</div></td>
                        <td width="33%" bgcolor="#EAEAEA">
                          <input name="nachname" type="text" class="rahmen" id="nachname" size="17">


Da wird immer eine id einem Begriff zugeordnet.

Dachte das müsste ich dann als id hinterlegen- oder ist das falsch ?


den Befehl habe ich nicht verstanden - wo soll ich das nutzen:


PHP:
echo mysql_errno() . ": " . mysql_error() . "\n";


Bitte ganz genau erklären - ich habe sehr wenig Ahnung !

Danke sehr !!
 
Ja du hast in deinem SQL Insert Befehl die Variablen alle unterschiedlich, was ja auch so gehört, jedoch definierts du im oberen Teil jede Zeile $id neu!

Du musst die Daten vom Formular per POST/GET annehmen, z.b.:
PHP:
$nachname = $_POST['nachname'];

Das musst du für jedes Eingabefeld machen, du erkennst anhand des Atributs "name" im <input> Feld wie du es im $_POST['xxx'] nennen musst.

Hast du dann die Daten alle richtig definiert so werden sie eingefügt, der Befehlt ist dafür da um die SQL Fehler anzuzeigen. Füg ihn einfach unter den SQL Befehl ein.

Und am besten ließt du dich lieber nochmal ein bisschen in PHP ein und fängst klein an =)
Dann kannst du acuh die Fehler verstehen...

Lg
 
Zurück