Jump to content
Rila_xp

Script php loto!

Recommended Posts

Posted (edited)

Salutare,m-am apucat de un script pentru mine sa mai invat ceva php,va rog mult daca ma puteti ajuta si pe mine macar cu ideea daca nu cu cod!

Am 6 numere pe care le introduce userul,vreau sa le verific daca sunt mai mici decat 0 sau egale si daca sunt mai mari decat 49 apoi sa le verific daca sunt la fel intre ele!Imi puteti da o idee?

L.E:Ma refer la o metoda mai usoara nu cu if...ca innebunesc sa le compar pe toate in parte!

Multumesc mult,

Rila

Edited by Rila_xp
Posted

pp ca primesti numerele prin POST din campuri diferite: n1,n2,n3,n4,n5,n6

<?php

for($i=1; $i<=6; $i++)

if(!valid($i) die('nu ai completat corect');

function valid($i){

if($_POST["n$i"]>49 || $_POST["n$i"]<0) return 0;

for($j=1; $j<=6;$j++)

if($j!=$i && $_POST["n$j"]==$_POST["n$i"]) return 0;

}

?>

Posted
Deci preiau numerele din 6 campuri nr1,nr2,nr3,nr4,nr5,nr6 cu POST vreau sa fac un sistem gen 6/49 numere sa se incadreze intre 0 si 49 si sa nu se repete :)

Ati inteles acum?

am inteles, da iti spun pe mess.

ma ai in lista ;)

ON: rand(0,50)

Posted

codul lui briceag


<?php
for($i=1; $i<=6; $i++)
if(!valid($i) die('nu ai completat corect');

function valid($i){
if($_POST["n$i"]>49 || $_POST["n$i"]<0) return 0;
for($j=1; $j<=6;$j++)
if($j!=$i && $_POST["n$j"]==$_POST["n$i"]) return 0;
}
?>

poti sa ai un array gen "numbers"

faci


<input type="text" value="<?php echo isset($_POST['numar'][1] ? $_POST['numar'][1] : ''>" name="numar[1]" />
<input type="text" value="<?php echo isset($_POST['numar'][2] ? $_POST['numar'][2] : ''>" name="numar[2]" />
<input type="text" value="<?php echo isset($_POST['numar'][3] ? $_POST['numar'][3] : ''>" name="numar[3]" />
<input type="text" value="<?php echo isset($_POST['numar'][4] ? $_POST['numar'][4] : ''>" name="numar[4]" />
<input type="text" value="<?php echo isset($_POST['numar'][5] ? $_POST['numar'][5] : ''>" name="numar[5]" />
<input type="text" value="<?php echo isset($_POST['numar'][6] ? $_POST['numar'][6] : ''>" name="numar[6]" />

Si facu cu foreach $_POST['numar'] ( il dai unei varibile intai sa para mai corect ) .

is_numeric , mai mic , mai mare ,apoi cu random iti faci 6 numere si faci ce vrei tu cu ele

Posted

Se presupune ca iei numerele prin POST catre php, poftim:

<?php
$numere = array($_POST['nr1'], $_POST['nr2'], $_POST['nr3'], $_POST['nr4'], $_POST['nr5'], $_POST['nr6']);
$count = count($numere);
$verif = count(array_unique($numere));
if($count == $verif){

foreach($numere as $numar){
if($numar > 0 && $numar < 50){
echo "ai ales numarul: <b>$numar</b><br>";
$loto[$numar] = $nr;
}else{
echo "<b>$numar</b> trebuie sa fie intre 1 si 49. DOH !!1<br>";
}
}
$lotonr = count($loto);
if ($lotonr==6){
//aici face molozeala daca sunt toate numerele bune
echo "<br><b>6 nr bune</b>";
}else{
//aici ii spune ca nu sunt numerele bune si il fute in gura!
echo "<br><b>nu sunt toate nr. bune</b>";
}

}else{
die("<b>Nu poti alege un numar de 2 ori...</b>");
}



?>

Mai adaugi 2 - 3 filtre anti xss si ala e!

Posted

e mai greu, am incercat eu acuma 1 an, de plictiseala si mi-o luat cateva ore bune sa compar toate numerele, trebuie sa te gandesti, ca sa il faci cat mai realistic, de exemplu numarul6:

$nr6 poate nu e acelasi numar ca al saselea numar ales de user, ci e al 3-lea, in cazul ala trebuie sa faci alte if-uri, sa verifici ce numar e sau nu e in locul lui 6

plm e greu de explicat, simplu de inteles... bafta la cod!

Posted


<form name="loto" method="post" action="">
<?php

$i = 1;
while($i <= 6){

echo 'Numar '.$i.' : <input type="text" name="numar'.$i.'" size="3" /><br />';
$i++;
}

echo '<input type="submit" name="submit" value="Add numbers" /><br />';

if(isset($_POST['submit'])){

$i = 1;
while($i <= 6){

$numere[] = trim($_POST['numar'.$i]);
$i++;
}



foreach($numere as $numar){

if(empty($numar)){

echo 'Ma-ta-i grasa <br />';

} elseif($numar < 0 || $numar > 49){

echo $numar . ' invalid. <br />';

} else {

$rez = count(array_unique($numere));
if($rez !== 6){

echo 'Alege 6 numere diferite<br />';

} else {

echo $numar.', ';

}

}

}



}


?>
</form>

Incearca si asta, plm ..

Posted

Bun...am ajuns la partea cu extragerea,trebuie sa fac diferenta intre 2 arrayuri ca sa vad cate numere au iesit castigatoare,am incercat cu array_diff si array_intersect apoi dar nu am reusit.Ma ajutati putin?

am codul urmator cu ce am incercat sa fac :

<?
$numereextrase = array(rand(1,49), rand(1,49), rand(1,49), rand(1,49), rand(1,49), rand(1,49));
$count = count($numereextrase);
$verif = count(array_unique($numereextrase));
while($count !=$verif)
{
$numereextrase = array(rand(1,49), rand(1,49), rand(1,49), rand(1,49), rand(1,49), rand(1,49));
}
foreach($numereextrase as $numar){

echo "pc a ales numarul: <b>$numar</b><br>";

}
$numereuser=array(1,20,12,15,19,20);//puse manual pentru moment...dar vor fi preluate automat
foreach($numereuser as $numar1){

echo "ai ales numarul: <b>$numar1</b><br>";

}

$result = array_intersect($numereuser, $numereextrase);
foreach($result as $numar1){

echo "numere corecte: <b>$numar1</b><br>";

}

?>

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...