Array in Session speichern

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
lecorniaud
Mitglied
Beiträge: 3
Registriert: 09.09.2006 21:40

Array in Session speichern

Beitrag 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
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag 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.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag 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.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „Coding & Technik“