Homepage selbermachen 7.851 Themen, 35.615 Beiträge

An die PHP Profis: Kleines Shop Script - finde fehler nicht

Gonzales / 3 Antworten / Flachansicht Nickles

Hallo, ich habe von einem Bekannten einen Teil eines Kleinen E shops programmiert
bekommen. Der ist aber seit vorgestern im Urlaub und ich weiss nicht wo der Fehler hängt.
folgendes soll im Script geschehen: Die Produkte sollen aus der DB gelesen werden
und dann gleich eine Session registriert werden. Es soll möglich sein, die Produkte
gleich zu bestellen. Ohne Cookies und ohne Javascript. Alles passiert auf dem Server.
Das Funktioniert auch soweit, doch die einzelnen Produkte, die man kaufen will,
werden nicht in der session registriert und ich kann den fehler nicht sehen.

<?php
session_start();

$db=mysql_connect(\\"localhost\\",\\"\\",\\"\\");
mysql_select_db(\\"shop\\");

$result=mysql_query(\\"select * from produkte order by id desc\\",$db);


while($zeile=mysql_fetch_object($result))
{
$produktnameregister=$zeile->produktname;
session_register(\\"$produktnameregister\\");
}

$result=mysql_query(\\"select * from produkte order by id desc\\",$db);
echo\\"<table style=\'border:1px solid #000000\' align=\'center\' width=\'90%\'>\\";
echo\\"<tr><td>Produkt</td><td>Beschreibung</td><td>Preis</td><td>Bestellen</td></tr>\\";

while($zeile=mysql_fetch_object($result)){
$produktnamesender=$zeile->produktname;
echo\\"<tr><td>$zeile->produktname</td>\\";
echo\\"<td>$zeile->beschreibung</td>\\";
echo\\"<td>$zeile->preis</td>\\";
echo\\"<td>
<form action=\'$PHP_SELF\'>
<input type=\'text\' name=\'wertsender\' value=\'1\' size=\'5\'>
<input type=\'text\' name=\'produktnamesender\' value=\'$zeile->produktname\' size=\'5\'>
<input type=\'submit\' name=\'bestellen\' value=\'bestellen\'>
</form>
</td>\\";
echo\\"</tr>\\";
}
echo\\"</table>\\";

?>

bei Antwort benachrichtigen
Heinz_Malcher Borlander „ Warum willst Du alle Produktnamen in der Session ablegen, die hast Du doch...“
Optionen

Hallo, erstmal finde ich die vielen Variablenübergaben wie $xx = $zz; relativ unnötig, sie verwirren eher und ich weiss eigentlich nciht wozu sie dienen. hier mal mein vorschlag
<?php
session_start();

$db=mysql_connect("localhost","","");
mysql_select_db("shop");
<b>
if(isset($bestellen)) {
session_register("$register");</b>
$register[]=$wertsender;
}



$result=mysql_query("select * from produkte order by id desc",$db);
echo"<table style='border:1px solid #000000' align='center' width='90%'>";
echo"<tr><td>Produkt</td><td>Beschreibung</td><td>Preis</td><td>Bestellen</td></tr>";

while($zeile=mysql_fetch_object($result)){
echo"<tr><td>$zeile->produktname</td>";
echo"<td>$zeile->beschreibung</td>";
echo"<td>$zeile->preis</td>";
echo"<td>
<form action='$PHP_SELF'>
<input type='text' name='wertsender' value='1' size='5'>
<input type='text' name='register' value='$zeile->produktname' size='5'>
<input type='submit' name='bestellen' value='bestellen'>
</form>
</td>";
echo"</tr>";
}
echo"</table>";



?>?>

bei Antwort benachrichtigen