Probleme mit Variablen übergabe !

derdemo

Grünschnabel
hallo,

ich habe hier ein problem wenn ich aus einer html datei variablen übergeben möchte...



<php><html>
<head>
<title>Neuen Datensatz erstellen</title>
</head>
<body bgcolor=#C6C3C6>
<form action="db.php" method=post>
<input type=text name="Array[ArtikelNr]" size= 5>
<input type=text name="Array[Titel]" size= 5>
<input type=text name="Array[Beschreibung]" size= 5>
<input type=text name="Array[Kat1]" size= 5>
<input type=text name="Array[Kat2]" size= 5>
<input type=submit name="SUBMIT" value="ok">
</form>
</body>
</html></php>

an eine PHP datei übergeben möchte ! ?


<php><head>
<title></title>
</head>
<body>
<?php
$host = "localhost";
$user = "**********";
$password = "*********";
$dbname = "************";
$tabelle ="******";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "INSERT into $tabelle values ('0','$Array[ArtikelNr]', '$Array[Titel]', '$Array[Beschreibung]', '$Array[Kat1]', '$Array[Kat2]', '$Array[Kat3]', '$Array[Preis]', '$Array[INFO]', '$Array[Aktiv]', '$Array[PIC1]', '$Array[PIC2]', '$Array[PIC3]', '$Array[PIC4]', '$Array[PIC5]')";
print ($dbanfrage);
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Daten wurden erfolgreich gesendet.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);

?>

</body>
</html>
</php>



es werden in der SQL anweisung keine daten übergeben, nur eine 0 für die ID, keine werte aus dem array ?!

wer hat da eine Idee


gruss derdemo
 
Du kannst auch sowas nicht machen:
<input type=text name="Array[ArtikelNr]" size= 5>
Ich glaube Du hast es mit dropdownlisten verwechselt: select1[] ?!

machs doch so:
<input type=text name="ArtikelNr" size= 5>

Und dann so entgegennehmen:
$dbanfrage = "INSERT into $tabelle values ('0','$_POST[ArtikelNr]'...
Wobei der index des PostArray auch in Anführungszeichen stehen müsste, musste mal testen
...,$_POST['ArtikelNr'],...


PS: Wenn Anführungszeichen, dann immer Anführungszeichen:
<input type="text" name="Array[ArtikelNr]" size= "5">
 
wstbln hat gesagt.:
Du kannst auch sowas nicht machen:
<input type=text name="Array[ArtikelNr]" size= 5>
Und warum soll das nicht gehen?

edit:
Vieleicht ist der Variablenname "Array" etwas unglücklich gewählt, der könnte geschützt sein.
Nicht wirklich: http://de3.php.net/manual/de/reserved.php

Ein Fehler ist vermutlich die '0' als id, ich denke mal das ist ein auto_increment?
Also entweder '' (2 Singlequotes) für die id, oder
INSERT INTO table (keys) VALUES (values) und die id weglassen.

Dann noch ergänzen
PHP:
//...
} else {
print "Es traten Probleme auf.<br>".mysql_error();
}
/...
verrät Dir was an der Query falsch ist.

Und vor der Query noch
PHP:
$Array = $_POST['Array'];
 
Zuletzt bearbeitet:
mmmmhhh.... also ich verzweifel hier noch mit dem script...:(

kann mir evtl. mal jemand ein script posten mit dem ich daten in eine SQL DB übergeben kann INSERT ?! das wäre super :)

alle felder sind TEXTE und sollten über Textflelder eingegeben werden können.

:confused:

thanx


dennis
 
Hast Du mal die 3 Punkte von meinem letzten Post umgesetzt?
Wär mal interessant was mysql_error() ausgibt.

Und daß die Textflelder ein Array ergeben verkompliziert die Angelegenheit in dem Fall nur unnötig.

Nenn die Textflelder "ArtikelNr", "Titel", usw.

PHP:
$host = "localhost";
$user = "**********";
$password = "*********";
$dbname = "************";
$tabelle ="******";

$dbverbindung = mysql_connect ($host, $user, $password);
$db_selected = mysql_select_db($dbname, $dbverbindung);

$dbanfrage = "INSERT into $tabelle values ('','.$_POST['$ArtikelNr'].', '.$_POST['$Titel'].', '.$_POST['$Beschreibung'].', ...usw)";
print $dbanfrage."<br>";
$result = mysql_query($dbanfrage, $dbverbindung) {
if($result){
print "Daten wurden erfolgreich gesendet.";
} else {
print "Es traten Probleme auf.<br>".mysql_error();
}
 
Zuletzt bearbeitet:
Zurück