PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formulardaten in MySql Tabelle


TheGreatDJ
26.10.2004, 09:49:35
Habe vor das man Vereine der Tabelle hinzufügen kann. Nun habe ich folgendes programmiert, aber es funktioniert irgendwie nicht. Hat jemand eine idee?

Hier die eintrag-verein.html:

<html>
<head>
<title>Welchen Verein hinzufügen</title>
</head>
<body>

<form name="eintragen" action="eintagen.php" method="post">
<p>Welchen Verein hinzufügen?</p>
<p><input type="text" name="name" size="20"><br>
<input type="submit" value="eintragen" name="eintragen"></p>
</form>
</body>
</html>


und der Code von eintragen.php:


<html>
<head>
<title>Verein eintragen</title>
</head>
<body>
<?php
$eintragen = $HTTP_POST_VARS['eintragen'];
$name = $HTTP_POST_VARS['name'];

if ($eintragen) {
$db=mysql_connect("192.168.1.2","root","");
mysql_db_query("insert into 1bl_vereine values('','$name')");
$ok=mysql_affected_rows();
if ($ok>0) {
print "Verein eingetragen";
} else {
print "Fehler";
}
mysql_close($db);
}
?>
</body>
</html>

c4
26.10.2004, 09:52:23
Original geschrieben von TheGreatDJ
...aber es funktioniert irgendwie nicht. Hat jemand eine idee? Mehr Informationen!! Ein einfaches 'geht nicht' hilft nicht!

// aus dem
mysql_db_query("insert into 1bl_vereine values('','$name')");
// machst Du das
mysql_db_query("insert into 1bl_vereine values('','$name')") or die(mysql_error()); Damit siehst Du, was Du vergessen und falsch gemacht hast.



PS: Noch ein Standardposting hinterher:
Mit Version 4.1 wurde in PHP ein neues Sicherheitskonzept eingeführt, welches seit Version 4.2 standardmäßig aktiviert ist. Seit dem muss man alle übergebenen Variablen mit
$_GET['variable'] - für Urlparameter
$_POST['variable'] - für mit method=post versendete Parameter
$_COOKIE['variable'] - für Cookies
$_REQUEST['variable'] - $_POST, $_GET und $_COOKIE zusammen
$_FILES['variable'] - für hochgeladene Dateien
$_SERVER['variable'] - für Servervariablen (z.B. $_SERVER['PHP_SELF'])
$_ENV['variable'] - für Umgebungsvariablen
ansprechen. Also ehemals $str mit $_GET['str']
Oder Du setzt in der php.ini register_globals auf on. Davon rate ich aber ab.

TheGreatDJ
26.10.2004, 10:00:32
Also ich bekomme folgende Fehlermedlung:

Parse error: parse error in /srv/www/htdocs/tfm/phpcodes/eintagen.php on line 12

habe den Quelltext folgendermaßen umgestellt:


<html>
<head>
<title>Verein eintragen</title>
</head>
<body>
<?php
$eintragen = $_POST['eintragen'];
$name = $_POST['name'];

if ($eintragen) {
$db=mysql_connect("192.168.1.2","root","");
mysql_db_query("insert into 1bl_vereine values('','$name')")or die(mysql_error();
$ok=mysql_affected_rows();
if ($ok>0) {
print "Verein eingetragen";
} else {
print "Fehler";
}
mysql_close($db);
}
?>
</body>
</html>

c4
26.10.2004, 10:04:01
Original geschrieben von TheGreatDJ
Also ich bekomme folgende Fehlermedlung:

Parse error: parse error in /srv/www/htdocs/tfm/phpcodes/eintagen.php on line 12 Na und was sagt Dir das? Eigeninitiative wird in diesem Forum gerne gesehen.

PHP sagt Dir schon, was in welcher Zeile nicht stimmt, kann doch also gar nicht mal so schwer sein.
Noch ein Link als Hilfe:
--> http://php.net/mysql_db_query

PS die Zweite: Wenn Dir PHP schon eine Fehlermeldung mit Zeilenangabe raushaut, dann wäre es nur zu nett, wenn Du uns mitteilst, welche Zeile Zeile 12 ist... ;)

TheGreatDJ
26.10.2004, 10:11:29
Hey Hey an Eigeninitiative fehlt es mir nicht, aber momentan guck ich auf den Quelltext und kann den fehler einfach nicht sehen!!!

Was mir das sagt? Ich würde mal sagen SYNTAXFEHLER! Aber das weiß ich auch so... :-)

Zeile 12 ist folgende Zeile:



mysql_db_query("insert into 1bl_vereine values('','$name')")or die(mysql_error();

xabbuh
26.10.2004, 10:14:35
Zeile 12 ist folgende Zeile:



mysql_db_query("insert into 1bl_vereine values('','$name')")or die(mysql_error();


Da fehlt eine schließende runde Klammer ;-)

c4
26.10.2004, 10:16:16
// aus dem
mysql_db_query("insert into 1bl_vereine values('','$name')")or die(mysql_error();
// machst Du das
mysql_db_query('Name der Datenbank', "insert into 1bl_vereine values('', '$name')") or die(mysql_error());

TheGreatDJ
26.10.2004, 10:17:36
Vielen DAnk!!!

Manchmal sieht man wenn man alleine drauf guckt selbst ein so einfachen Fehler nicht!!! :-)

c4
26.10.2004, 10:18:52
Original geschrieben von TheGreatDJ
Vielen DAnk!!!

Manchmal sieht man wenn man alleine drauf guckt selbst ein so einfachen Fehler nicht!!! :-) Dafür gab's ja den Link zum Manual...

Na ja, ist noch früh. Asche auf Dein Haupt.