Ansicht:   

#371595 Frage zu PHP array_push() (pc.coding)

verfaßt von uteS, 02.10.2014, 13:51:03

Ich bastle an einer Vormerkliste.
Dafür wende ich auf einer Katalogseite die Funktion array_push() an, um z.B. eine Bild-URL in das Session-Array neu einzutragen, was nachher auf einer Merkzettel-Seite erscheinen soll.Das funktioniert auch im Prinzip.

Damit der Eintrag aber erst vollzogen wird, wenn man etwas ausdrücklich vormerken will, habe ich den push_array-Befehl jeweils in ein verstecktes Formularfeld geschrieben und einen submit-Button vorgesehen.

Das Problem:
Der Server führt sofort beim Aufruf der Seite alle push_array-Befehle aus, die auf der Seite findet, und schreibt sie in das Session-Array, ohne drauf zu warten, dass man auf den Button klickt.

Wo ist da mein Denkfehler / Informationsmangel?
Code der Katalogseite:

<?php 
session_start();
$_SESSION['logo']=array();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="de" xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
		<title>Katalogseite</title>
	</head>
	<body>
		<table>
			<td><img src="1188.gif" alt="" height="150" width="210" border="0" />
				<p>#1188</p>
				<form id="" action="merkliste.php" method="get" name="">
					<input type="hidden" name="vormerken" value='<?php array_push($_SESSION['logo'], "<img src="1188.gif">"); ?>'  />
					<input type="submit" name="submitButtonName" value="Vormerken" />
				</form>
			</td>
			<td><img src="1417.gif" alt="" height="150" width="210" border="0" />
				<p>#1417</p>
				<form id="" action="merkliste.php" method="get" name="">
					<input type="hidden" name="vormerken" value="<?php array_push($_SESSION['logo'], "<img src="1417.gif">"); ?>" />
					<input type="submit" name="submitButtonName" value="Vormerken" />
				</form>
			</td>
		</table>
		
		<p><a href="merkliste.php">Zur Merkliste</a></p>
	</body>
</html>



Code der Merkzettelseite:

<?php
session_start ();
$_SESSION['logo'];

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="de" xmlns="http://www.w3.org/1999/xhtml">

	<head>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
		<title>Merkliste</title>
		
		
	</head>

	<body>
		<?php
	foreach($_SESSION['logo'] AS $nummer)
   {
   echo "<p>" .$nummer."</p>";
   }
	?>
		
	</body>

</html>

 

gesamter Thread:

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz