php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem mit Formularübergabe an MySQL DB


 
whistler81
19-06-2003, 12:17 
 
Hallo,
ich möchte eine Veranstaltungsdatenbank programmieren. Dazu habe ich mal eine HTML Formular mit den Feldern "Veranstaltung, Datum, Zeit, Infos und Kontakt" angelegt.


<td width="100%"><font face="Arial"><b>Veranstaltung eingeben<br>
&nbsp;</b></font><form method="POST" action="insert.php">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3">
<tr>
<td width="1%" height="19" valign="top"><font face="Arial" size="2">
Veranstaltung</font></td>
<td width="118%" height="19">
<input type="text" name="ver1" size="59"></td>
</tr>
<tr>
<td width="1%" height="1" valign="top"><font face="Arial" size="2">
Datum (online)</font></td>
<td width="118%" height="1"><input type="text" name="datum" size="59"></td>
</tr>
<tr>
<td width="1%" height="19" valign="top"><font face="Arial" size="2">
Zeit</font></td>
<td width="118%" height="19"><input type="text" name="zeit" size="59"></td>
</tr>
<tr>
<td width="1%" height="19" valign="top"><font face="Arial" size="2">
Infos</font></td>
<td width="118%" height="19">
<textarea rows="10" name="infos" cols="51"></textarea></td>
</tr>
<tr>
<td width="1%" height="19" valign="top"><font face="Arial" size="2">
Kontakt-eMail</font></td>
<td width="118%" height="19">
<input type="text" name="kontakt" size="59"></td>
</tr>


Die Daten sollten an insert.php übergeben werden.


<?php
$dbserver = "localhost"; // Datenbankserveradresse
$dbname = ""; // Name der Datenbank
$dbuser = ""; // Username des Datenbankbenutzers
$dbpass = ""; // Passwort des Datenbankbenutzers
$db=mysql_connect($dbserver, $dbuser, $dbpass);
mysql_select_db($dbname, $db);

if($ver1 != "" and $datum != "" and $zeit != "" and $infos != "")
{
$query="INSERT into event_db (event, date, time, infos, kontakt) VALUES ('$ver1', '$datum', '$zeit', '$infos', '$kontakt')";

mysql_query($query, $db);
echo "Eintrag erfolgreich!";

}
else
{
echo "Eintrag NICHT erfolgreich!!!!!!!!!!!!!!!!!!!";
}


mysql_close();

?>


ABER: es funktioniert nicht, obwohl es eigentlich gehen sollte (habe den code von einem anderen funktionierenden Script kopiert!!)

Es kommt immer diese Fehlermeldung

[quote]
Warning: Undefined variable: ver1 in D:\Eigene Dateien\Eigene Webs\bildungswerk\admin\event\insert.php on line 9
Eintrag NICHT erfolgreich!!!!!!!!!!!!!!!!!!!
[/qoute]

Line 9 ist die "IF-Abfrage ob Daten in den Feldern stehen"

Was läuft hier falsch?

LG
Clemens

 
schmalle
19-06-2003, 12:20 
 
mal wieder das selbe lied :)

in deiner php.ini sind "register_globals" auf "off".
2 möglichkeiten. die unsaubere:

register_globals auf "on"

die saubere: benutze $_POST[name_der_variable]

 
whistler81
19-06-2003, 12:28 
 
ok, habe den code jetzt geändert


if($_POST['ver1'] != "" and $_POST['datum'] != "" and $_POST['zeit'] != "" and $_POST['infos'] != "")
{
$query="INSERT into event_db (event, date, time, infos, kontakt) VALUES ($_POST['ver1'], $_POST['datum'], $_POST['zeit'], $_POST['infos'], $_POST['kontakt'])";




jetzt schreibt er mir aber diese Meldung hin:


Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in D:\Eigene Dateien\Eigene Webs\bildungswerk\admin\event\insert.php on line 9


??

 
schmalle
19-06-2003, 12:33 
 
wieder 2 möglichkeiten :)

entweder ohne die '', also $_POST[var] oder die values in geschweifte klammern { }

 
whistler81
19-06-2003, 12:41 
 
ok habe alle '' entfernt jetzt kommt dies:

"of undefined constant ver1 - assumed 'ver1' "

sch......

:confused:

 
schmalle
19-06-2003, 12:46 
 
dann musste wohl die geschweiften nehmen {}

value ( {$_POST['var1#] }, etc

ps kann sein, dass die anders "sitzen" müssen :) aber prizipiell sollte das funken

 
whistler81
19-06-2003, 13:00 
 
kann mir jemand sagen was ich da falsch mache????


$query="INSERT into event_db (ver, date, time, infos, kontakt) VALUES ({$_POST['ver1']}, {$_POST['datum']}, {$_POST['zeit']}, {$_POST['infos']}, {$_POST['kontakt']} )";


jetzt schreibt er zwar keine Fehlermeldung aber dafür schreibt er nix in die DB hinein....:confused: :confused:

 
whistler81
19-06-2003, 13:11 
 
FUNKTIONIERT ENDLICH!!!!


$query="INSERT into event_db (ver, date, time, infos, kontakt) VALUES ('{$_POST['ver1']}', '{$_POST['datum']}', '{$_POST['zeit']}', '{$_POST['infos']}', '{$_POST['kontakt']}' )";

so musste man es schreiben ;)

Thx Schmalle!


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:23 Uhr.