[PHP] Problem mit Variablen

everdead

enttäuscht
2 Mai 2006
40
5
Hallo,

habe ein kleines Problem bei meinem(schlecht programmierten) "Script".

Irgendwie kann ich die Variablen nicht aus dem Formular lesen.

Was ist daran falsch?

PHP:
<html>
<head><title></title>

</head>
<body>


<table border="0" align="center">
<?php
include("db_connect.php");
include("header.html");

?>


<td width="700"style="background-color:#ffffff" valign="top"></td>

<tr>
<td>
<iframe scrolling ="no" width="404" height="568" align="right" src="Bilder/imr_klein/imr_klein.html"></iframe>
</td>


<?php

echo" 

<form action=\"imr.php?uebertrag=start\" method=\"post\" name=\"send\">


<td>
<font face=\"verdana\" size=\"1\">Artikel: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Größe:</font><br>
<input name=\"artikel\" type=\"text\" size=\"30\" maxlength=\"30\"><input name=\"size_arikel\" type=\"text\" size=\"3\" maxlength=\"30\">
<br>

<font face=\"verdana\" size=\"1\">Beschreibung 1: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Größe:</font><br>
<input name=\"beschr_1\" type=\"text\" size=\"30\" maxlength=\"30\"><input name=\"size_beschr_1\" type=\"text\" size=\"3\" maxlength=\"30\">
<br>
<font face=\"verdana\" size=\"1\">Beschreibung 2: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Größe:</font><br>
<input name=\"beschr_2\" type=\"text\" size=\"30\" maxlength=\"30\"><input name=\"size_beschr_2\" type=\"text\" size=\"3\" maxlength=\"30\">
<br>
<font face=\"verdana\" size=\"1\">Preis: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Größe:</font><br>
<input name=\"preis\" type=\"text\" size=\"10\" maxlength=\"30\"><input name=\"size_preis\" type=\"text\" size=\"3\" maxlength=\"30\">
<br><br>
<input type=\"submit\" value=\"Vorschau\">  
</td>

</form>


";


if($_GET['uebertrag'] == 'start')
{





mysql_query("INSERT INTO werbsch (artikel, beschr_1, beschr_2,
  preis) VALUES ('$_GET['artikel']', '$_GET['beschr_1']', '$_GET['beschr_2']', '$_GET['preis']')");



}
else
{
}




?>

<?php
include("footer.html");
?><html>
<head><title></title>

</head>
<body>


<table border="0" align="center">
<?php
include("db_connect.php");
include("header.html");

?>


<td width="700"style="background-color:#ffffff" valign="top"></td>

<tr>
<td>
<iframe scrolling ="no" width="404" height="568" align="right" src="Bilder/imr_klein/imr_klein.html"></iframe>
</td>


<?php

echo" 

<form action=\"imr.php?uebertrag=start\" method=\"post\" name=\"send\">


<td>
<font face=\"verdana\" size=\"1\">Artikel: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Größe:</font><br>
<input name=\"artikel\" type=\"text\" size=\"30\" maxlength=\"30\"><input name=\"size_arikel\" type=\"text\" size=\"3\" maxlength=\"30\">
<br>

<font face=\"verdana\" size=\"1\">Beschreibung 1: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Größe:</font><br>
<input name=\"beschr_1\" type=\"text\" size=\"30\" maxlength=\"30\"><input name=\"size_beschr_1\" type=\"text\" size=\"3\" maxlength=\"30\">
<br>
<font face=\"verdana\" size=\"1\">Beschreibung 2: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Größe:</font><br>
<input name=\"beschr_2\" type=\"text\" size=\"30\" maxlength=\"30\"><input name=\"size_beschr_2\" type=\"text\" size=\"3\" maxlength=\"30\">
<br>
<font face=\"verdana\" size=\"1\">Preis: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Größe:</font><br>
<input name=\"preis\" type=\"text\" size=\"10\" maxlength=\"30\"><input name=\"size_preis\" type=\"text\" size=\"3\" maxlength=\"30\">
<br><br>
<input type=\"submit\" value=\"Vorschau\">  
</td>

</form>


";


if($_GET['uebertrag'] == 'start')
{





mysql_query("INSERT INTO werbsch (artikel, beschr_1, beschr_2,
  preis) VALUES ('$_GET['artikel']', '$_GET['beschr_1']', '$_GET['beschr_2']', '$_GET['preis']',)";);



}
else
{
}




?>

<?php
include("footer.html");
?>
 
Zuletzt bearbeitet:
Dein Formular wird mittels POST versendet. Dann muss du auch die Werte in $_POST[] suchen gehen... und nicht in $_GET[]

Desweiteren schau dir mysql_real_escape_string() oder ähnliche funktionen an.
Dann schau dir noch mysql_error() an, das wirst du auch noch brauchen (z.B. letzter Beistrich im VALUE-Argument) (Eventuell wäre es interessant, ob der INSERT funktioniert hat ;) )

Es wäre gut, wenn du da auch überprüfst, was man in die Textfelder eintippt... sonst hast du auf einmal seltsame Daten in deiner Datenbank...

(Der Array-Zugriff in deinm Insert ist glaub ich auch nicht ganz korrekt (mit den anführungszeichen?), müsstest ausprobieren, weiß ich nicht mehr genau)
 
Dein Formular wird mittels POST versendet. Dann muss du auch die Werte in $_POST[] suchen gehen... und nicht in $_GET[]

Wenn ich $_POST verwende, funktioniert die erste IF-Anwendung nicht.

Variablen werden mit $_POST auch nicht übergeben :(

Dann schau dir noch mysql_error() an, das wirst du auch noch brauchen (z.B. letzter Beistrich im VALUE-Argument) (Eventuell wäre es interessant, ob der INSERT funktioniert hat )

verbessert

Es wäre gut, wenn du da auch überprüfst, was man in die Textfelder eintippt... sonst hast du auf einmal seltsame Daten in deiner Datenbank...

Kann ich leider nicht überprüfen, da die Variablen nicht aus dem Formular übergeben werden.
 
Wenn ich $_POST verwende, funktioniert die erste IF-Anwendung nicht....
logisch, es wird ja per ein Parameter per GET "übertragen", nämlich uebertrag

Variablen werden per GET genauso wie mit POST übertragen

Und vielleicht sollte man man etwas besser den Code zusammenstellen, weil das so sicherlich schwieriger ist, einen Fehler zu finden

Man kann den PHP-Tag auch zwischendurch mal wieder schließen, das Formular erstellen. und dann wieder mit PHP anfangen

EDIT: Und bei dem MySQL-Eintrag kann auch nichts Gescheites rauskommen

PHP:
VALUES ('$_GET['artikel']',
:arrow:
PHP:
VALUES ('".$_GET['artikel']."',