• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zufallszahl zwischen 1 und 90 erstellen?

Status
Für weitere Antworten geschlossen.

Tar

Aktives Mitglied
Ich brache dringend Hilfe,

ich bräuchte bis spätestens Samstag ein php skript das mir zufällig eine zahl zwischen 1-90 anzeigt aber niemals die gleiche zahl zweimal kommt.
Ich hoffe das mir jemand helfen kann.

Danke

<--- Mod-Edit: Inkorrekter Titel - Forenregeln --->
 
Werbung:
Re: Brauche Hilfe

Tar-Minyatur schrieb:
Ich brache dringend Hilfe,

ich bräuchte bis spätestens Samstag ein php skript das mir zufällig eine zahl zwischen 1-90 anzeigt aber niemals die gleiche zahl zweimal kommt.
Ich hoffe das mir jemand helfen kann.

Danke

-keiner hier gibt fertigen code.
-PHP-Manual
-verwende einen möglichste aussagekräftigen titel
-was soll nach den 90 malen passieren

Nils aka XraYSoLo
 
Das ganze ist für ein bingo-spiel gedacht... jede zahl soll nur einmal drankommen und dann, nach den 90 mal, ist feddich, aber beim bingo kommt ja eigentlich nie so weit...
 
Werbung:
Könttest du mir das nochma genau erklären. Ich hab zwar schon einige Turoials gemacht aber das wär das erste größere Skript.
 
1 seite mit einem form, über den du auf die seite selber postest.
Dabei nimmst du jedesmal ein array mit, in dem du die bereits gezogenen zahlen speicherst.

über die funktion:
$zahl=rand ( 1,90 );

ermittelst du jeweils eine zufallszahl zwischen 1 und 90.
Dann schaust du ob diese zahl bereits in deinem array gespeichert ist, falls nicht, gibst du sie aus und speicherst sie im array, falls ja führst du das ganze nochmals durch solange bis du eine zahl gefunden hast, die nicht im array ist.
 
Werbung:
Na ja ich hab eigentlich nur die "Grundkenntnisse". Und ich dachte das ich das vielleicht schon hinkriegen würde.
 
Werbung:
naja eigentlich muss man nur die logik für den aufbau eines scriptes kennen...
darum --> kannst du eine sprache, ist es nicht schwer in ner andere zu proggen...

hättest du da schon ideen?
 
ich wuerde da lieber mit session variablen arbeiten als mit formularen ;)
ungefaehr so:
Code:
<?php
session_start();
if (false === array_key_exists('bingozahlen', $_SESSION))
	{
		$_SESSION['bingozahlen'] = array();
	}
//erstelle ein neues Array mit Zahlen wenn es noch keins gab
function BingoZahl()
	{
	$zahl = mt_rand ( 1 , 90 ); //Zufalls Zahl Erstellen
	if(false === in_array ($zahl, $_SESSION['bingozahlen']))
		{ // Wenn es die Zahl noch nicht gab
			$_SESSION['bingozahlen'][] = $zahl;
			$new = $zahl;
		//fuege sie hinzu
		}
	else
		{
			$new = BingoZahl();
		} //sonst rufe die funktion nocheinmal rekursiv auf
	return $new; //gib die neue zufallszahl zurueck
	}

foreach($_SESSION['bingozahlen'] as $key=>$value)
	{
		echo (++$key . '. Zahl: ' . $value . '
' . "\n");
	} // vorherige zahlen ausgeben
$count_session_bingozahlen = count ($_SESSION['bingozahlen']);
if( $count_session_bingozahlen == 90)
	{
		echo ('Alle Zahlen einmal vorgekommen.');
	}
else
	{
		$new = BingoZahl();
		echo (++$count_session_bingozahlen . '. Zahl: ' . $new . '
' . "\n");
	}	//Neue Zahl ausgeben.
?>
grade getestet funktioniert ganz ordentlich ;)
wenn du etwas nicht verstehst frag bitte.
es bringt nichts wenn du das script nicht verstehst was du benutzt ;)
 
Werbung:
ist beides logisch, da die session nicht akzptiert wird...
hast du das etwa in html eingebaut?
wenn ja, dann nimm session_start() über den 1. tag!
 
Werbung:
Also einfach nur den oben genanten code in ein *.php schreiben und hochladen? Wenn ja, dann hab ich richtig gemacht. Und was ist eigentlcih echo? Ist das so ähnlich sie print?

Hab nochma ein paar Fragen zum Code. Die folgenden stellen bräucht ich nochma etwas näher erklärt:
Code:
function BingoZahl()
   {
   $zahl = mt_rand ( 1 , 90 ); //Zufalls Zahl Erstellen
   if(false === in_array ($zahl, $_SESSION['bingozahlen']))
      { // Wenn es die Zahl noch nicht gab
         $_SESSION['bingozahlen'][] = $zahl;
         $new = $zahl;
      //fuege sie hinzu

Code:
return $new; //gib die neue zufallszahl zurueck

Code:
foreach($_SESSION['bingozahlen'] as $key=>$value)
   {
      echo (++$key . '. Zahl: ' . $value . '
' . "\n");
   } // vorherige zahlen ausgeben
 
Werbung:
Danke. Ich hab nochmal genau nahgeschaut und habs jetzt verstanden. Aber wieso geht das auf meinem Server nicht. Und wie kann ich das machen das das wieder von neuem anfängt.
 
und wie willst du dich einloggen mit usernamen und pw? genau das ist ein formular... << warum solltest du so etwas tuen? es geht darum Zahlen darzustellen - nicht sehr sicherheitskritisch??

der quelltext sollte genaus so aussehen wie ich ihn geschrieben habe - ohne Irgend ein zeichen (auch kein leerzeichen) vor dem <?php
(auch keine leerzeile. nichts! )
dann muesste es klappen

von neuem anfangen: entweder den cookie zu dieser seite loeschen, den browser beenden, 10 Stunden warten oder eine datei mit dem inhalt
[php:1:1d1e7376e7]
<?php
session_destroy();
?>
[/php:1:1d1e7376e7]
aufrufen
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben