Probleme mit einem Script

SantaCruze

Erfahrenes Mitglied
Hallo :) Ich habe ein kleines Problem mit einem Script was über ein Formular Daten in die DB eingibt.

connect.php
PHP:
$host = "localhost"; 
$user = "***";
$pw = "****";
$datenbank = "mankind";

$server = mysql_connect($host,$user,$pw);
$dblink = mysql_select_db($datenbank);

todoliste.htm
PHP:
<html>
<head>
<title>ToDo Liste</title>
</head>
<body>
<form action="todoliste.php" method=post>
ToDo <br>
<input type=text name="Array[name]" size= 120>
<br>
<br>
Version<input type=text name="Array[fertig]" size=10></textarea>
<br>
<br>
Prozent fertig <br>
<input type=text name="Array[version]" size= 4>
<br>
<br>
<input type=submit name="SUBMIT" value="ok">
</form>
</body>
</html>



todoliste.php
PHP:
<html>
<head>
<title>ToDo Liste Eintragen</title>
</head>
<body>

<?php
include ("connect.php");

$dbanfrage = "INSERT into todoliste values ('', '$Array[name]', '$Array[fertig]' , '$Array[version]')";

if (mysql_db_query ( $dbanfrage, $server , $dblink)) {
print ("Eingetragen");
} else {
print ("Fehler");
}


?>

</body>
</html>

Nun krieg ich die Fehlermeldung "Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in D:\xampp\xampp\htdocs\mankind\scripts\todoliste.php on line 12
Fehler" Aber ich find den Fehler einfach nicht.
 
Du solltest Dir die Schreibweise zu INSERT bei MYSQL nochmal ansehen. Du musst schon sagen in welches Feld er was reinschreiben soll. Ausserdem kommen die daten über $_POST[""] an.


PHP:
$dbanfrage = "INSERT into todoliste ('feld1', 'feld2', 'feld3')  values ('".$_POST["name"]."', '".$_POST["version"]."' , '".$_POST["fertig"]."')";


Und benenne mal die Formularfelder nicht so komisch. Ich sehe keinen Sinn darin das Array[soundso] zu nennen, da es sich hier ja nicht um Arrays handelt. Das gibt nur Fehlerquellen wegen den Klammern.

also
PHP:
<input type="text" name="name" size="120" /> 
<input type="text" name="fertig" size="10" /> 
<input type="text" name="version" size="4" />
etc

Dann setze die Form method und andere Formularparameter mal in "" also z.B.
Code:
method="post"

Danach sollte alles passen.
 
Zuletzt bearbeitet:
Ist eigentlich auch net meine Schreibweise, hab das ganze aus dem MYSQL Inhalte übergeben Tutorial und habs bei mir angepasst allerdings scheint es halt doch net so zu gehen. Nunja danke für die Hilfe, werde das Script entsprechend anpassen.
 
ein Tutorial mit so schlampiger HTML Syntax? Ok ;)

Pass das mal an und sag bescheid obs geht. Kriegen wir schon hin :)
 
Ich weiß nicht, ob der SQL-Standard dies vorsieht, aber bei MySQL ist dies möglich. (Siehe INSERT-Syntax.) Fehlt die Angabe der Spalten, wird die Reihenfolge benutzt, wie die Tabelle erstellt wurde. Wurde die Tabellen allerdings verändert, das heißt sind Spalten hinzugekommen oder entfernt worden, kann es zu Problemen kommen, da möglicherweise die Reihenfolge nun anders ist als vermutet.
 
ALso ich hab den Code so umgeändert aber er bringt mir trotzdem die Meldung "Probleme aufgetreten (wie im Print Befehl definiert). Irgendwas stimmt da immer noch net, ich glaube es liegt irgendwie an dem db_query.


PHP:
<form action="todoliste.php" method="post">
ToDo <br>
<input type="text" name="name" size="120" /> 
<br>
<br>
Version<input type="text" name="fertig" size="5" /> 
<br>
<br>
Prozent fertig <br>
<input type="text" name="version" size="5" /> 
<br>
<br>
<input type="submit" name="SUBMIT" value="ok">
</form>

PHP:
<?php
include ("connect.php");

$dbanfrage = "INSERT into todoliste ('name', 'fertig', 'version')  VALUES (' ".$_POST["name"]."', '".$_POST["fertig"]."' , '".$_POST["version"]."')";

if (mysql_db_query ($dbanfrage , $dblink , $server)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}


?>

Und ja die Server / DB Verbindung steht , hab über die Includete connect.php zum Test auch noch ne Überprüfung eingebaut und die tut es ohne probleme.



Achja das Tutorial nach dem ich arbeite ist folgendes:

http://www.tutorials.de/forum/php-tutorials/15435-mysql-inhalte-ueber-webinterface-ein-ausgeben.html
 
Zuletzt bearbeitet:
Zurück