Seite 1 von 1

Array in Session speichern

Verfasst: 10.09.2006 10:43
von lecorniaud
Hallo,Ich brauche bitte deine Hilfe.ich versuche ein Array zu erstellen,das Zufallszahlen speichert.Das Array soll in eine Session-Variable angelegt werden,
damit ich alle Zufallszahlen bekomme solange ich auf der Seite bin,wenn ich auf den Button "SUBMIT" klicke.Leider bekomme ich immer nur die
aktuelle Zufallszahl(die letzte).Was ich erwarten würde ist folgendes :.Z.B,beim ersten Klicken,wenn z.B 233291 angezeigt wird,erwarte ich
wieder diese Zahl und zusäzlich die neue aktuelle Zufallszahl .Hier ist mein Code.

<?php
session_start();
$zaehler=0;
error_reporting(0);
$sessionid=$_GET["sessionid"];

$zufall = rand(100000,999999);
$cidsearch =$zufall;

$ausgabe="Ausgabe aller Zufallszahlen :(Hier sollten eigentlich alle Zufahlzahlen angezeigt werden)";
echo "<br>";
echo "<br>";
echo "<br>";
echo $ausgabe ;
echo "<br>";
$_SESSION['cidsearch'] = array($cidsearch);

foreach($_SESSION['cidsearch'] as $mysearch){
echo $mysearch;
}


?>
<html>
<head>
<title></title>
<meta name="author" content="Dieter">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<center>
<form action="gvmTest.php?cidsearch=<?php echo urlencode($cidsearch)?>" method="POST">
<table>
<tr>
<td>Die aktuelle Zufallszahl ist : <span style="color:blue"><?php echo $cidsearch; ?><br><br></span></td>
</tr>
<tr>
<br><br>
<td><input type="submit" name="submit" value="SUBMIT"></input></td>
</tr>
</table>
<input type="hidden" name="sessionid" value="<?php echo $sessionid ?>"></input>
</form>
</center>
</body>
</html>
Im Voraus vielen Dank für deine Antwort.
Lecorniaud

Verfasst: 10.09.2006 11:05
von Miriam
Wo hast Du denn ein Array gefüllt? $cidsearch ist kein Array, jedenfalls nicht gefüllt mit mehren Variablen.

Baue das Array vllt so:

Code: Alles auswählen

for ($i=0;$i<=10;$i++) {
      $cidsearch[$i] = rand(100000,999999);
}
// Array anzeigen
print_r ($cidsearch);
Du solltest auch überprüfen, ob das Array in der Serverumgebung schon gesetzt ist, ansonsten hast Du jedes Mal, wenn Du die PHP Datei aufrufst, ein neues Array mit neuen Werten.

Verfasst: 10.09.2006 11:50
von Miriam
Probier das:

Code: Alles auswählen

<?php
session_start();
$zaehler=0;
srand();
error_reporting(0);
$sessionid=$_GET["sessionid"];
$j = 10;
for ($i=0;$i<=$j;$i++) {
      $cidsearch[$i] = rand(100000,999999);
}

echo "Ausgabe aller Zufallszahlen :(Hier sollten eigentlich alle Zufahlzahlen angezeigt werden)<br>";
if (!isset($_SESSION['cidsearch'])) {
      echo "neu generiertes Array: <br />";
      $_SESSION['cidsearch'] = $cidsearch;
}
else {
      echo "SESSION Array vorhanden: <br />";
      foreach($_SESSION['cidsearch'] as $mysearch){
      echo "$mysearch<br />";
      }
}
// Eine Zufallszahl aus dem Array auswählen:
$rand_i = rand(0,$j-1);
$zufall = $_SESSION['cidsearch'][$rand_i];
?>
<html>
<head>
<title></title>
<meta name="author" content="Dieter">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<center>
<form action="<?php $_SERVER["PHP_SELF"] ?>?cidsearch=<?php echo urlencode($cidsearch)?>" method="POST">
<table>
<tr>
<td>Die aktuelle Zufallszahl ist : <span style="color:blue"><?php echo $zufall; ?> an <?php echo $rand_i+1 ?>. Stelle<br><br></span></td>
</tr>
<tr>
<br><br>
<td><input type="submit" name="submit" value="SUBMIT"></input></td>
</tr>
</table>
<input type="hidden" name="sessionid" value="<?php echo $sessionid ?>"></input>
</form>
</center>
</body>
</html>
Du solltest aber dafür sorgend, dass ein anderes Script auch mal die $_SESSION['cidsearch'] löscht.