Brauche Hilfe bin Newbie und weiß nicht weiter

alexXP

Grünschnabel
also ich hab gestern mein erstes Formular mit MySQL und PHP versucht und hat soweit alles funktioniert
Aber das speichern klappt nicht es kommen immer die Fehlermeldungen:

Notice: Undefined variable: z in D:\hp\anmeldung\anmeldung.php on line 7

Notice: Undefined variable: v in D:\hp\anmeldung\anmeldung.php on line 7

Notice: Undefined variable: p in D:\hp\anmeldung\anmeldung.php on line 7

Notice: Undefined variable: o in D:\hp\anmeldung\anmeldung.php on line 7

Notice: Undefined variable: a in D:\hp\anmeldung\anmeldung.php on line 7

Notice: Undefined variable: t in D:\hp\anmeldung\anmeldung.php on line 7


Hier die datein die ich geschrieben hab:

anmeldung.htm:
<html>
<head>
<title>Anmeldung WING</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body bgcolor="#000000">
<form method="POST" action="anmeldung.php">
<table width="49%" height="225" border="1" bgcolor="#000000">
<tr>
<td width="44%"><font color="#00FFFF">Nachname:</font></td>
<td width="56%"><input type="text" name="z" size="20"></td>
</tr>
<tr>
<td width="44%"><font color="#00FFFF">Vorname:</font></td>
<td width="56%"><input type="text" name="v" size="20"></td>
</tr>
<tr>
<td width="44%"><font color="#00FFFF">PLZ:</font></td>
<td width="56%"><input type="text" name="p" size="20"></td>
</tr>
<tr>
<td width="44%"><font color="#00FFFF">Ort:</font></td>
<td width="56%"><input type="text" name="o" size="20"></td>
</tr>
<tr>
<td width="44%"><font color="#00FFFF">Adresse:</font></td>
<td width="56%"><input type="text" name="a" size="20"></td>
</tr>
<tr>
<td width="44%"><font color="#00FFFF">TelefonNr.:</font></td>
<td width="56%"><input type="text" name="t" size="20"></td>
</tr>
<tr>
<td width="44%">&nbsp;</td>
<td width="56%"><input type="submit" value="Abschicken" name="B1"></td>
</tr>
</table>
</form>
</body>
</html>

anmeldung.php:
<?php
include("config.inc.php");
?>
<?php
$oConn = mysql_connect($dbhost,$db_ben,$db_pwd);
mysql_select_db($dbname,$oConn);
mysql_query(("insert into $tab_h(Z, V, P, O, A, T) values('$z','$v','$p','$o','$a','$t')"),$oConn) or die("Fehler beim Speichern");

mysql_close($oConn);
?>
<html>
<head>
<title>Fromular</title>
</head>
<body>

<p align="center"><font color="#000000">Daten erfolgreich gespeichert! </font></p>

</body>
</html>

config.inc.php:
<?
$dbhost = "localhost";
$db_ben = "root";
$db_pwd = "";

$dbname = "test";
$tab_h="anmeldung";
?>

Und hier die Datenbakdatei mit der ich die Datenbank angelegt hab
CREATE TABLE anmeldung (
Nr int(11) NOT NULL auto_increment,
V varchar(250),
Z varchar(250),
A varchar(250),
P varchar(250),
O varchar(250),
T varchar(250),
PRIMARY KEY (Nr)
);


Sag schon jetzt mal danke für die Hilfe.
 
Zuletzt bearbeitet:
Hi!

Also er sagt er kennt die Variablen nicht.

Versuch mal im in der Zeile des INSERT INTO anstatt $z -> $_POST["z"], usw zu schreiben.
 
Hallo....

Du musst ab PHP4 die Superglobals anders ansprechen(sofern register_globals "off" ist, was ich mal annehme)....
<edit>Wie das geht hat Mairhofer ja schon geschrieben:-)</edit>
 
Zuletzt bearbeitet:
Also danke schon mal

habs jetzt so geschrieben:
mysql_query(("insert into $tab_h(Z, V, P, O, A, T) values($_POST["z"],'$v','$p','$o','$a','$t')"),$oConn) or die("Fehler beim Speichern");
Hab mal nur das z geändert
Dann kommt der error:
Parse error: parse error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\hp\anmeldung\anmeldung.php on line 7

und wenn ich es so mach:
mysql_query(("insert into $tab_h(Z, V, P, O, A, T) values($_POST['z'],'$v','$p','$o','$a','$t')"),$oConn) or die("Fehler beim Speichern");

dann kommt der error

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\hp\anmeldung\anmeldung.php on line 7
 
PHP:
mysql_query(("INSERT INTO $tab_h(Z, V, P, O, A, T) VALUES ('$_POST["z"]','$_POST["$v"]','$_POST["$p"]','$_POST["$o"]','$_POST["$a"]','$_POST["$t"]')"),$oConn) or die("Fehler beim Speichern");

EDIT:

Besser wäre um den Fehler besser bestimmen zu können:
PHP:
mysql_query(("INSERT INTO $tab_h(Z, V, P, O, A, T) VALUES ('$_POST["z"]','$_POST["$v"]','$_POST["$p"]','$_POST["$o"]','$_POST["$a"]','$_POST["$t"]')"),$oConn) or die(mysql_error());
 
da kommt der Fehler

Parse error: parse error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\hp\anmeldung\anmeldung.php on line 7
 
Sollte es nicht eher so lauten:
PHP:
mysql_query("
INSERT INTO
        `".$tab_h."` (
          `Z`,
          `V`,
          `P`,
          `O`,
          `A`,
          `T`
        )
  VALUES (
          '".$_POST['z']."',
          '".$_POST['v']."',
          '".$_POST['p']."',
          '".$_POST['o']."',
          '".$_POST['a']."',
          '".$_POST['t']."'
  )", $oConn) or die(mysql_error());
Ich persönlich würde übrigens folgende Syntax verwenden:
PHP:
$query = "
INSERT INTO
        `".$tab_h."`
  SET
        `Z` = '".$_POST['z']."',
        `V` = '".$_POST['v']."',
        `P` = '".$_POST['p']."',
        `O` = '".$_POST['o']."',
        `A` = '".$_POST['a']."',
        `T` = '".$_POST['t']."'
";
mysql_query($query, $oConn) or die(mysql_error());
 
Zurück