schlüsselnr übergeben

Hallo bin ein PHP neuling und habe eine frage

Ich habe mir ein Eingabeformular gebastelt um Daten in mysql db zu
speichern.
Supper hat geklappt!

jetzt wollte ich ein drop down menü im formular erstellen wo die verweise
von einer anderen tabelle angezeigt werden und ausgewählt werden können.
(hat auch geklappt)

um die daten in der db zu speicher habe ich mir eine zweite php datei
geschrieben und übergebe die eingetragenen werte mit POST weiter.
Funktioniert bis auf das drop down Feld da der wert als array übergeben wird
und nicht als int --> id.

köttet ihr mir helfen den fehler zu beseitigen? ich hoffe das ich mich gut
genug ausgedrückt habe

DATEI1.
<?php
$dbConnect=mysql_connect('localhost','root','');
if (!(mysql_select_db('test',$dbConnect)))
{
print("CONNECT TO DATABASE FAILD! <br>");
}
else
{
print("");
}

echo"<BR>";
echo"<b> Eingabe ";
echo"<BR><BR><BR>";
echo"<form action=\"1.php\" method=\"POST\">";
echo"<table border=\"0\">";
echo"<tr>";
echo"<td>name</td>";
echo"<td><input type=\"text\" name=\"name\" maxlength=\"30\"
size=\"30\"></td>";
echo"</tr>";
echo"<tr>";
echo"<td>";
$result = mysql_query ('SELECT * FROM plz');

echo"Postleitzahl";
echo"<td>";
echo"<select name='"ort"'>";
while ($data = mysql_fetch_array($result))
{
echo "<option value='" . $data[0] . "' >$data[1] | $data[2]</</option>";

}
echo "</select>";
echo"</td>";

//BUTTONS

echo"<tr>";
echo"<td><input type=\"reset\" ></td>";
echo"<td><input type=\"submit\"></td>";
echo"</tr>";
//-----------------------

echo"</table>";
echo"</form>";
?>


DATEI 2: (1.php)

<?php
$dbConnect=mysql_connect('localhost','root','');
if (!(mysql_select_db('test',$dbConnect)))
{
print("CONNECT TO DATABASE FAILD! <br>");
}
else
{
print("");
}
$vname=$_POST['versicherungname'];
$verortFK=$_POST['ort'];

$write_into_table="INSERT INTO `nameort` ( `nr` , `name` , `plz` )
VALUES ( NULL,'$vname',$verortFK')";

if (mysql_query($write_into_table))
{
echo 'WRITE DATA SUCCESSFUL <p>';
}
else
{
echo "<b>WRITE DATA NOT SUCCESSFUL </b><p>";
}
?>
Sebastian Wrona [ So, 11 März 2007 15:24 ] [ ID #1654199 ]

Re: schlüsselnr übergeben

Sebastian Wrona wrote:
> Funktioniert bis auf das drop down Feld da der wert als array übergeben wird
> und nicht als int --> id.

So einfach werden keine Arrays angelegt.

Könnte ebenfalls nützlich sein:
11.7. Wie kann ich aus einer Datenbanktabelle einen <select> erzeugen?
http://www.php-faq.de/q/q-formular-select.html

> köttet ihr mir helfen den fehler zu beseitigen? ich hoffe das ich mich gut
> genug ausgedrückt habe


> DATEI1.
> $dbConnect=mysql_connect('localhost','root','');

Du solltest nicht als root arbeiten. Ein eigener User mit
eingeschränkten Rechten dürfte sicherer sein.

> echo"<select name='"ort"'>";

Verursacht diese Zeile eine Fehlermeldung? Das '"ort"' sieht nicht OK aus.

> echo "<option value='" . $data[0] . "' >$data[1] | $data[2]</</option>";

Ich gehe mal davon aus, dass Du Deiner Datenbank vertraust. Aber was
enthalten $data[1] und $data[2].
vgl. htmlentities:
http://de.php.net/manual/de/function.htmlentities.php


> DATEI 2: (1.php)
[...]
> $vname=$_POST['versicherungname'];
> $verortFK=$_POST['ort'];
>
> $write_into_table="INSERT INTO `nameort` ( `nr` , `name` , `plz` )
> VALUES ( NULL,'$vname',$verortFK')";
Anführungszeichen zu viel? ^

16.18. Wie kann ich bösartigen Code in SQL-Abfragen unterbinden?
http://www.php-faq.de/q/q-sql-injection.html


> um die daten in der db zu speicher habe ich mir eine zweite php datei
> geschrieben und übergebe die eingetragenen werte mit POST weiter.

Gratuliere zu Deinen Fortschritten! Wenn Du Deine Formulare noch etwas
besser gestalten willst solltest Du dies mal lesen:

27.2. Von HTML zu PHP: Schreibe Formularverarbeitungen in Normalform
http://www.php-faq.de/q/q-stil-normalform.html


Heiko
--
http://portal.richler.de/ Namensportal zu Richler
http://www.richler.de/ Heiko Richler: Computer - Know How!
http://www.richler.info/ private Homepage
Heiko Richler [ So, 11 März 2007 17:27 ] [ ID #1654200 ]
PHP » de.comp.lang.php.datenbanken » schlüsselnr übergeben

Vorheriges Thema: Problem beim verbinden mit DB
Nächstes Thema: Kontaktformular in PHP oder doch CGI