Ocena wątku:
  • 1 głosów - średnia: 5
  • 1
  • 2
  • 3
  • 4
  • 5
[PHP] sonda - bardzo skomplikowany problem - POMOCY ! ! !
#1
- żeby oddać głos trzeba podać 5-znakowy kod z listy (lista w pliku z kodami, wygenerowanymi losowo ciągami 5 znaków, każdy kod w osobnej linii pliku, kody nie powtarzają się mechanizm sprawdza, czydany kod występuje na liście, a jeśli tak, zalicza głos i usuwa kod z listy)
- jedna osoba może oddać wiele razy głos, ale za każdym razem musi użyć nowego kodu

mam straszny problem żeby to zrobić wg. powyższych wytycznych;/
jak na razie zrobiłem tak:
Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="pl" />
    <meta name="Author" content="RW" />
    
    <title>Sonda</title>
    </head>
    <body>
    
    <?php
    
    // ustalenie szerokosci w pikselach,
    
    // jesli plik graficzny ma 1 px szerokosci
    
    $szerokosc=200;
    
    
    
    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:<br/><input type="text" name="haslo" /><input type="submit" name="glosuj" value="Głosuj" /><br/><br/></form></map></p>';
    
    /*POKAZUJE WYNIKI*/
    
    echo prezentacja($szerokosc);
    


   /*------------------------------------ODTĄD MAM PROBLEM----------------------------------------------------------------*/  
    


    //TUTAJ KOD SPRAWDZA CZY JEST HASŁO W PLIKU kody.txt I JAK JEST TO USUWA JE STAMTĄD
    
    $wpisanyKlucz = htmlspecialchars(trim($_POST['haslo']));
    $kody = file('./kody.txt');
    if($klucz = in_array($wpisanyKlucz, $kody))
    {
    unset($kody[$klucz]);
    file_put_contents('./kody.txt', implode("\n", $kody));
    
    

// TUTAJ CHCIAŁEM ZROBIĆ ŻEBY PO KLIKNIĘCIU 'glosuj' SPRAWDZAŁO BŁĘDY I WYSYŁAŁO ERROR WARUNKOWO

    $wyslij = $_POST['glosuj'];
    $empty = '';
  
    if($wyslij)
    {
    if (empty($haslo))
    {
    $error = "Nie wpisałeś hasła<br/>";
    $haslo = $empty;
    }
    
    elseif (strlen($haslo) != 5)
    {
    $error .="hasło musi mieć 5 znaków<br/>";
    $haslo = $empty;
    }
    if (empty($error))
    {
    $error .= "Twoja głos został oddany";
    }
    }
    else
    {
    $error .= "Wystąpił błąd podczas głosowania, spróbuj później.";
    }
    }
    
    
    
    //TU MIAŁBY SIĘ WYŚWIETLAĆ ERROR
    
    echo $error;
    ?>
    
    </body>
    </html>

zrobiłem tak, jednak nie działa do końca ;/

tu można zobaczyć jak to wygląda na stronie jak na razie:
http://p13.nsf.pl/sondaPHP/index.php

bardzo proszę o pomoc
Odpowiedz


Wiadomości w tym wątku
[PHP] sonda - bardzo skomplikowany problem - POMOCY ! ! ! - przez eremen - 18-02-2012, 17:42

Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Pomocy [php/mysql] online Marekgo 6 4,849 21-10-2012, 22:03
Ostatni post: Morfeusz_2005
  Potrzebuję Waszej pomocy Mr. Bum 4 3,460 11-03-2012, 03:25
Ostatni post: Mr. Bum
  BARDZO PILNE - WORDPRESS eremen 3 2,967 07-03-2012, 17:29
Ostatni post: Engine
  System logowania - pomocy jani1992 4 3,186 24-09-2011, 16:02
Ostatni post: KowR
  Pomocy pawel274 9 6,742 22-08-2011, 19:45
Ostatni post: KowR

Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości
Sponsorzy i przyjaciele
SeoHost.pl