Session Variable über Link ändern

Michelle85

Mitglied
Hallo,

ich hab da ein Problem und zwar, gebe ich momentan in einer Tabelle z.B. Bücher mittels php aus, klickt man auf den im Quellcode gezeigten Link, hat man die Möglichkeit dieses Buch zu editieren (z.Bsp. den Titel oder den Autor).

Nun suche ich eine Möglichkeit, wie ich das ganze in ne Session packen kann.
Ich finde es sehr unschön, dass in der URL meine ganzen Variablen stecken.


PHP:
for ($i=1;$i<=count($this->topics);$i++){
 
echo"<a href='?site=book&action=editBook&b_id=".$this->book[$i]['b_id']."'>editieren</a>";

}

Bisher hab ich diesen Weg versucht:
Dieser funktioniert allerdings nicht, da ich immer die letzte Buch-ID in der Session stehen habe.

PHP:
for ($i=1;$i<=count($this->topics);$i++){

$_SESSION['values']['b_id']=$this->book[$i]['b_id'];

echo "<a href='?site=book&action=editBook'>editieren </a>";

}


Bin für jede Hilfe dankbar.

Gruß
 
was spricht denn gegen ein Formular?

Ich würde das in etwa so machen:
PHP:
<?php

for ($i=1;$i<=count($this->topics);$i++)
{
	
echo "
	<form name=\"bookedit\" action=\"?site=book&action=editBook\" method=\"post\">
		<input type=\"hidden\" name=\"book_id\" value=\"".$this->book[$i]['b_id']."\">
		<input type=\"submit\" name=\"book_update_".$this->book[$i]['b_id']."\" value=\"editieren\">
	</form>
";
}
?>

// update_file.php
<?php
if (isset($_POST['bookedit'], $_POST['book_id'], $_POST['book_update_'.$_POST['book_id']]))
{
	// code zum updaten 
	$book_id = $_POST['book_id'];
	// ...
}

?>
 
Zurück