Seite 1 von 2

Formular in DB eintragen

Verfasst: 09.09.2004 00:33
von FighterBC
hi ihrs, ich kenn mich mit php noch nicht so ganz aus.

deswegen wollte ich hier mal fragen.
Also... ich möchte den Inhalt eines Formulars in einer MySQL-Datenbank abspeichern.

Ich habe schon Codes dafür, aber es funktioniert leider nicht, es wird einfach nichts eingetragen :cry:
php-Version 4.3.8 wird verwendet bei meinem Hoster

Würde mir vielleicht jemand liebenswürdigerweiße dabei helfen, so das das Script funktioniert? :)

Hier der Code von meiner test.php

Code: Alles auswählen

<html>

<head>
<title>Test</title>
</head>

<body>
<form action="sp.php" method="post">
<table border="3" cellspacing="5" bordercolor="#000080" width="53%" height="331" bordercolorlight="#000080" bordercolordark="#000080" background="Blue.JPG">
  <tr>
    <td width="18%" align="center" height="23"><u><b>
    <font face="Comic Sans MS" size="3" color="#FFFFFF">Dienstag</font></b></u></td>
  </tr>
 <tr>
    <td width="8%" align="center" height="19"><b>
    <font size="2" face="Comic Sans MS" color="#FFFFFF">14-15</font></b></td>
    <td width="35%" align="center" height="19"><b>
    <font size="2" face="Comic Sans MS" color="#FFFFFF"><input type="text" name="nick_name_01" size="20" value="<?=$nick_name_0?>" maxlength="50"></font></b></td>
    <td width="19%" align="center" height="19"><b>
    <font face="Comic Sans MS" size="2" color="#FFFFFF"><input type="text" name="alter_01" size="20" value="<?=$alter_01?>" maxlength="50"></font></b></td>
    <td width="72%" align="center" height="19"><b>
    <font face="Comic Sans MS" size="2" color="#FFFFFF"><input type="text" name="user_from_01" size="20" value="<?=$user_from_01?>" maxlength="50"></font></b></td>
  </tr>
  </table>
  <p align="center"><font color="#000099" face="Comic Sans MS"><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></font></p>
 </form>
</body>

</html>
Und hier der von der sp.php

Code: Alles auswählen

<?php

$db_name="usr_webxx_x"; // Name der Datenbank
$db_host="localhost"; // Sollte so stimmen
$db_user="webxx"; // User für den Zugriff auf die Datenbank
$db_pass="xxx"; // Passwort

$nick_name_01 = $HTTP_POST_VARS['nick_name_01'];
$alter_01 = $HTTP_POST_VARS['alter_01'];
$user_from_01 = $HTTP_POST_VARS['user_from_01'];

$verbindung = MYSQL_CONNECT($db_host , $db_user , $db_pass) or die ("Konnte keine Verbindung zur Datenbank herstellen.");

mysql_db_query($dbname,"UPDATE `sp_dienstag` SET `nick_name`='$nick_name_01',`alter`='$alter_01',`user_from`='$user_from_01' WHERE `ID`='15'");

		if (mysql_db_query == true) {
				echo "Erfolgreich aktualisiert!\n";
				}
		else {
				echo "Keine Verbindung!\n";
				}

MYSQL_CLOSE($verbindung);
?>

Verfasst: 09.09.2004 01:03
von Pyramide
Versuch mal, die MySQL-Fehlermeldungen auszugeben
http://www.dclp-faq.de/q/q-sql-fehlerbehandlung.html

Verfasst: 09.09.2004 01:44
von FighterBC
naja, wenn ich wüsste, was man dort ändern muss um die Fehlermeldungen ausgeben zu lassen :oops:
kenn mich wie gesagt kaum mit php aus, hab das nur irgendwie zusammen gebastelt.

naja, Verbindung scheint er zu haben, weil sonst hätte er ja den Fehler Konnte keine Verbindung zur Datenbank herstellen. ausgeben, oder?

Er gibt nur aus: Erfolgreich aktualisiert!

Verfasst: 09.09.2004 01:45
von DaniM
FighterBC hat geschrieben:naja, wenn ich wüsste, was man dort ändern muss um die Fehlermeldungen ausgeben zu lassen :oops:
kenn mich wie gesagt kaum mit php aus, hab das nur irgendwie zusammen gebastelt.

naja, Verbindung scheint er zu haben, weil sonst hätte er ja den Fehler Konnte keine Verbindung zur Datenbank herstellen. ausgeben, oder?

Er gibt nur aus: Erfolgreich aktualisiert!
Und aktualisiert ist es am Ende nicht? Also wird in der Datenbank der entsprechende Datensatz nicht bearbeitet?

Mit freundlichen Grüßen,
Dani

Verfasst: 09.09.2004 01:46
von FighterBC
jop, in der Datenbank ändert sich leider nichts :(

Verfasst: 09.09.2004 01:50
von DaniM
FighterBC hat geschrieben:jop, in der Datenbank ändert sich leider nichts :(
Ändert sich etwas wenn du bei WHERE 'id'=15 die ' bei der 15 wegmachst? Ist ja schließlich ein Integerwert.
Desweiteren sind alle Spaltennamen richtig? Und gibt es einen 15. Datensatz?

Mit freundlichen Grüßen,
Dani

Verfasst: 09.09.2004 01:59
von FighterBC
DaniM hat geschrieben: Ändert sich etwas wenn du bei WHERE 'id'=15 die ' bei der 15 wegmachst? Ist ja schließlich ein Integerwert.
Desweiteren sind alle Spaltennamen richtig? Und gibt es einen 15. Datensatz?
Nein, geht trotzdem nicht (auch ganz ohne WHERE 'id'=15 nicht) :(
Spaltennamen sind auch richtig und einen 15. Datensatz gibt es auch. :cry:

Verfasst: 09.09.2004 02:10
von RubberDuck
FighterBC hat geschrieben:Nein, geht trotzdem nicht (auch ganz ohne WHERE 'id'=15 nicht) :( Spaltennamen sind auch richtig und einen 15. Datensatz gibt es auch. :cry:
Aber $dbname scheint falsch übergeben zu werden.

Oben steht

Code: Alles auswählen

$db_name="usr_webxx_x"; // Name der Datenbank
Unten dann

Code: Alles auswählen

mysql_db_query($dbname,"UPDATE `sp_dienstag` SET
Da scheint der "_" zu fehlen.

Verfasst: 09.09.2004 02:15
von FighterBC
hmm... stimmt :oops: , jetzt geht alles '_'
aber irgendwie komisch, das hatte ich erst ganz zum schluss geändert, davor ging es auch immer nicht als ich direkt usr_webxx_x drin hatte

naja, jetzt geht es aber... Vielen Dank euch beiden! :) :wink:

Verfasst: 09.09.2004 02:16
von Pyramide
FighterBC hat geschrieben:Er gibt nur aus: Erfolgreich aktualisiert!
Kein Wunder...
FighterBC hat geschrieben: if (mysql_db_query == true) {
echo "Erfolgreich aktualisiert!\n";
}
mysql_db_query wird von phpBB als "mysql_db_query" interpretiert (es wird angenommen, daß du die " vergessen hast), welches als true interpretiert wird:
http://de.php.net/language.types.boolea ... an.casting