Witam ! Na początku zaznaczę iż sesjami mam doczyńienia od kilku dni. Dzieki temu formu zrobilem cos takiego (coś ala koszyk):
index.php:
Kod
<?php
session_start();
if ($_POST['sesja']=='czysc') {
    unset( $_SESSION['db'] );
    unset($db);
    }
echo '    <form action="" method="post">
    <table align=center border=0><tr><td valign=top width=250>
    <b><i>Pole wyboru:</i></b><br>
    <input type="radio" name="pozycja" value="pozycja 1" />pozycja 1
    <br>
    <input type="radio" name="pozycja" value="pozycja 2" />pozycja 2
    <br>
    <input type="radio" name="pozycja" value="pozycja 3" />pozycja 3
    <br>
    <input type="radio" name="pozycja" value="pozycja 4" />pozycja 4
    <br>
    <input type="radio" name="pozycja" value="pozycja 5" />pozycja 5
    </td>
               <td align=center valign=middle width=250>
               <center><input type="submit" value="dodaj"></center>
               </td>
               </tr></table>
</form>';
?>
<?php
function koszyk($pozycja, $nazwa = 'db',$ile = 10)
{
    $db = !empty($_SESSION[$nazwa]) ? $_SESSION[$nazwa] : array();
    $db[]= $pozycja;
   $db   = array_slice($db, 0 - $ile);
    $_SESSION[$nazwa] = $db;
       return $db;
}


echo("<i>wydruk kontrolny :</i><br><br>");
print_r(koszyk($pozycja));   // Jezeli tego prent_r przestawie ponizej prtli i foreach dane wyswietlane sa z opóznieniem

echo("<br><br>");
echo("<b>To co dodales:</b><br><br>");
//petelka czytajaca tablce
for ($i=0;$i<10;++$i) {
    echo("$i".$_SESSION['db'][$i]."<br>");
    }

echo("<br><br>");
echo("<br>");
echo("<b>To co dodales:</b>");
//opcja drukujaca tablice
foreach ( $db as $val )
print "$val <br>";
?>


    <form action="wyslij_mi_maila_z_zaznaczonymi_opcjami.php" method="post">
    <INPUT TYPE=HIDDEN NAME="zaznaczone_opcje" VALUE="<?php foreach ( $db as $val ) print "$val <br>";?>">
    <center><input type="submit" value="wy&para;lij"></center>
    </form><br><br>
    <form action="" method="post">
    <INPUT TYPE=HIDDEN NAME="sesja" VALUE="czysc">
    <center><input type="submit" value="czysc"></center>
    </form><br><br>

<?php echo("<br><br>");?>


wyslij_mi_maila_z_zaznaczonymi_opcjami.php
Kod
<?php
session_start();
//unset( $_SESSION['db'] );
?>
<?php
$message = "
************************************
lista opcji wybranych w formularzu wczesniej:
$zaznaczone_opcje
************************************
";

$email="email2";

$naglowki_listu="From: $email\r\nReply-to:$email\r\n";
mail("moj_email,$email","email_z_www",$message,$naglowki_listu)
 
?>


Wszystko prawie ładnie działa ale:
1. dlaczego jezeli przeniose na sam dół podanego skryptu komendę: "print_r(koszyk($pozycja)); " to dane wyswitlane z petli i " foreach ( $db as $val ) print "$val <br>";" wyswietlane sa z opoznieniem.
2. w jaki sposob najlepiej przesylac dane do
wyslij_mi_maila_z_zaznaczonymi_opcjami.php tak zeby dane były poukładane jedne pod drugimi, bo jezeli mam zrobione tak jak wyzej to wywala mi wszystko w jednej linii.
3. No i co zorobic najlepiej zeby przy odswierzaniu strony nie dodawal mi pustych lub przypadkowych wpisow.
Jezeli są gdzies na formu odpowiedzi na ten temat to bede bardzo wdzięczny za linki. Jezeli są to problemy bardzo banalne to będę równiez bardzo wdzięczny za pomoc smile.gif.
******************************************
od. na pyt.2. (20:20)
poradzilem sobie poprzez zastosowanie ".$_SESSION['db'][0]." itd...
wyslij_mi_maila_z_zaznaczonymi_opcjami.php
Kod
<?php
session_start();
//unset( $_SESSION['db'] );
?>
<?php
$message = "
lista opcji wybranych w formularzu wczesniej:
".$_SESSION['db'][0]."
".$_SESSION['db'][1]."
".$_SESSION['db'][2]."
".$_SESSION['db'][3]."
".$_SESSION['db'][4]."
".$_SESSION['db'][5]."
".$_SESSION['db'][6]."
".$_SESSION['db'][7]."
".$_SESSION['db'][8]."
".$_SESSION['db'][9]."
";

$email="email2";

$naglowki_listu="From: $email\r\nReply-to:$email\r\n";
mail("moj_email,$email","email_z_www",$message,$naglowki_listu)
 
?>


pozostały jeszcze 2 niewiadome ...

***********************************(20:50)
odp. pyt1.
Trzba bylo wywołać funkcje "koszyk($pozycja);" przed pętlą lub foreach i po zawodach .....

pozostała jeszcze jedna niewiadoma ...