18-02-2012, 19:57
(18-02-2012, 19:39)Pedro84 napisał(a): Co nie działa?
Kod:
<?php
// ustalenie szerokosci w pikselach,
// jesli plik graficzny ma 1 px szerokosci
$szerokosc=200;
//FUNKCJA LOSUJACA HASŁO
function GenRandom($howlong)
{
$chars = "abcdefghijklmnoprstuwxyzq";
$chars .= "1234567890";
$pass = "";
$len = strlen($chars) - 1;
for($i =0; $i < $howlong; $i++)
{
$random = rand(0, $len);
$output .= $chars[$random];
}
return $output;
};
$haslo = htmlspecialchars(trim($_POST['haslo']));
$kody = file('./kody.txt');
if($klucz = in_array($haslo, $kody))
{
unset($kody[$klucz]);
file_put_contents('./kody.txt', implode("\n", $kody));
}
function errory()
{
$glosuj = $_POST['glosuj'];
$haslo = htmlspecialchars(trim($_POST['haslo']));
if($glosuj)
{
if (empty($haslo))
{
$error = "Nie wpisałeś hasła<br/>";
}
elseif (strlen($haslo) !== 5)
{
$error .="hasło musi mieć 5 znaków<br/>";
}
if (empty($error))
{
$error .= "Twój głos został oddany";
}
else
{
$error .= "Wystąpił błąd podczas głosowania.";
}
}
return $error;
}
function prezentacja($szerokosc)
{
// odczyt pliku z pytaniem i odpowiedziami do tablicy $tresc
$tresc=explode("||",file_get_contents("tresc.php"));
// wyznaczenie liczby wierszy, ktora stanowia ilosc odpowiedzi plus pytanie
$ilosc=count($tresc);
// odczyt pliku z glosami
$glos=explode("||",file_get_contents("glosy.php"));
$suma=0;
for($c=0;$c<$ilosc;$c++)
$suma=$suma+$glos[$c];
echo '<p>'.$tresc[0];
for($c=1;$c<$ilosc;$c++)
{
echo '<BR />'.$tresc[$c];
$c--;
echo '<BR /> [ '.$glos[$c].' ] <BR />';
// graficzne wyswietlenie wynikow
for($i=0;$i<$glos[$c]/($suma+1)*$szerokosc;$i++)
echo '<img src="img.php" alt="">';
$c++;
}
echo '<BR /><BR />Suma głosów: '.$suma.'.</p>';
}
// jezeli wyslano dane z formularza
if ($wybor)
{
// odczyt pliku z pytaniem i odpowiedziami
$tresc=explode("||",file_get_contents("tresc.php"));
$ilosc=count($tresc);
// odczyt pliku z glosami
$glos=explode("||",file_get_contents("glosy.php"));
// uaktualnienie liczby glosow w pliku glosy.php
$fp=fopen("glosy.php","w");
// zwiekszenie o "1" odpowiedniego elementu tablicy, na ktory zaglosowano
$glos[$wybor-1]=$glos[$wybor-1]+1;
// zapis do pliku
fwrite($fp,implode("||",$glos));
fclose($fp);
}
// odczyt pliku z pytaniem i odpowiedziami
$tresc=explode("||",file_get_contents("tresc.php"));
$ilosc=count($tresc);
// odczyt pliku z glosami
$glos=explode("||",file_get_contents("glosy.php"));
/*POKAZUJE SONDE*/
echo '<p>'.$tresc[0].'<map glosuj="glosuj">
<form action="" method="post">
<table align="center" style="text-align:center;">
<tr>
<td>1.<img src="./zdjecia/auto1.jpg" alt="" glosuj="ramka"/></td>
<td>2.<img src="./zdjecia/auto2.jpg" alt="" glosuj="ramka"/></td>
<td>3.<img src="./zdjecia/auto3.jpg" alt="" glosuj="ramka"/></td>
<td>4.<img src="./zdjecia/auto4.jpg" alt="" glosuj="ramka"/></td>
<td>5.<img src="./zdjecia/auto5.jpg" alt="" glosuj="ramka"/></td>
</tr>
<tr>
<td>6.<img src="./zdjecia/auto6.jpg" alt="" glosuj="ramka"/></td>
<td>7.<img src="./zdjecia/auto7.jpg" alt="" glosuj="ramka"/></td>
<td>8.<img src="./zdjecia/auto8.jpg" alt="" glosuj="ramka"/></td>
<td>9.<img src="./zdjecia/auto9.jpg" alt="" glosuj="ramka"/></td>
<td>10.<img src="./zdjecia/auto10.jpg" alt="" glosuj="ramka"/></td>
</tr>
</table>
<div>
<input type="radio" name="wybor" value="1" /> nr 1.
<input type="radio" name="wybor" value="2" /> nr 2.
<input type="radio" name="wybor" value="3" /> nr 3.
<input type="radio" name="wybor" value="4" /> nr 4.
<input type="radio" name="wybor" value="5" /> nr 5.
<input type="radio" name="wybor" value="6" /> nr 6.
<input type="radio" name="wybor" value="7" /> nr 7.
<input type="radio" name="wybor" value="8" /> nr 8.
<input type="radio" name="wybor" value="9" /> nr 9.
<input type="radio" name="wybor" value="10" /> nr 10.
</div>
<p></p><div><br/>Wpisz hasło:';echo GenRandom(5);
echo '<br/><input type="text" name="haslo" /><input type="submit" name="glosuj" value="Głosuj" /><br/><br/></form></map></p>'; echo errory();
/*POKAZUJE WYNIKI*/
echo prezentacja($szerokosc);
?>
sprawdź tutaj jak działa : http://p13.nsf.pl/sondaPHP/index.php
sprawdziłeś? Jak na razie chciałbym aby to generowane hasło(pod obrazkami aut) było związane z polem do wpisywania tekstu i głosowanie byłoby możliwe jedynie po wpisaniu powyższego hasła.
Jak na razie nie ważne czy wpiszę jakiekolwiek hasło, czy nie wpiszę hasła w ogóle ale jeśli zaznaczę jakieś 'radio' głos zostaje doliczany... chciałbym to zmienić - to mój główny cel puki co