Loading:

Promocja Helion.pl

Jak napisać własną sonde?

Nalezy utworzyć plik np: sonda.php i do niego baze czyli w tym przypadku sonda.txt (plik sonda.txt musi być w tymsamym katalogu co strona, jeżeli jest w innym należy dopisać scieżkę dostępu.)

Plik sonda.php

Teraz czas na program który będzie dodawał nam głosy: kod progrmy należy umieścić do góry strony w pliku index.php lub jeżeli wyśweitlasz sonde w innym pliku to wklej go to tamtego pliku.

Aby wstawić sonde na swoją strone umieszczamy kod include (twój plik z strona główna musi mieć rozszerzenie *.php)

Plik sonda.txt należy nadać prawa dostępu na plik (chmod 666) pierwsza linia w pliku to pytanie, następna linia do już są odpowiedzi. Odpowiedzi zapisane są razem z liczbą. odp|+|liczba

 



Napisz Artykuł

Listing

// Sonda.php
// Autoremskryptu jest Jarolewski Piotr
// www.webcoding.pl
if ($_COOKIE['zablokujsonde']!="tak") {
// Sprawdzanie czy ciasteczko z blokadą istenieje
// Wyśweitlamy formularz sondy
?>
<form action="" method="post">
<fieldset style="border:none;">
<input type="hidden" name="glosuj" value="tak" />
<?php
// wczytanie pierwszej lini z pliku sonda.txt aby pokazać
// pytanie sondy
$plik=file('sonda.txt');
// pobranie ilosci lini z pliku
$ile=count($plik);
// funkcja explode która rozdzieli nam tekst
$s=explode("|+|",$plik[0]);
?>
<b><?=$s[0]?></b><br />
<?php
// Petla for() wczytająca od 2 lini pliki nasze odpowiedzi w sondzie
// Oraz wyświetlanie inputów do glosowania
for ($i=1; $i<$ile; $i++){
$tmp=explode("|+|",$plik[$i]);
?>
<input type="radio" name="linia" value="<?=$i?>" /> <?=$tmp[0]?><br />
<?php
}
?>
<input type="submit" value="głosuj" />
</fieldset>
</form>
<?php
}
else {
// Wyśweitlanie wyników
$plik=file('sonda.txt');
// pobranie ilosci lini z pliku
$ile=count($plik);
// funkcja explode która rozdzieli nam tekst i odpowiedzi
$s=explode("|+|",$plik[0]);

for ($i=1; $i<$ile; $i++){
$tmp=explode("|+|",$plik[$i]);
$ilosc = $ilosc+$tmp[1];
}
?>
<b><?=$s[0]?></b><br />
<?php
// obliczanie procent do każdej z odpowiedzi
for ($i=1; $i<$ile; $i++){
$tmp=explode("|+|",$plik[$i]);
if($ilosc == '0') {
$procent = "0";
}
else {
$procent0 = $tmp[1] / $ilosc * "100";
$procent2=substr($procent, 0, 3);
if($procent0==100){
$procent=str_replace(".","",$procent);
$procent = $procent0;
}
elseif($procent0 == '0') {
$procent = "0";
}
elseif ($procent0 <= '0,9') {
$procent = "1";
}
else{
$procent0=substr($procent0, 0, 2);
$procent0=str_replace(".","",$procent0);
$procent = $procent0;
}


}
// wyświetlanie wyników
?>
<?=$tmp[0]?> (<?=$tmp[1]?>) <br />
<div style="width:<?=$procent?>%;background-color:green;color:white;">
<?=$procent?>%
</div>
<br />
<?php
}
?>
Wszystkich głosów: <?=$ilosc?>
<?php
}
?>
// index.php
<?php
// sprawdzanie czy uzytkownik zagłosował
if($glosuj == 'tak') {
// wysyłamy ciasteczko na 24h
setcookie("zablokujsonde", "tak", time()+60*60*24);
// sprawdzamy czy użytkonik zaznaczył opcje do głosowania
if($linia == '') { header("Location: $HTTP_REFERER"); }
else {
// wczytanie oraz dodanie nowego głosu z danej odpowiedzi.
$plik=file("sonda.txt");
$tmp=explode("|+|",$plik[$linia]);
$tmp[0]=StripSlashes($tmp[0]);
$glos = $tmp[1] + "1";
$dane=file("sonda.txt");
$dane[$linia]="$tmp[0]|+|$glos|+|\n";

$file=fopen("sonda.txt", "w");

fwrite($file, join("", $dane));
fclose($file);
header("Location: $HTTP_REFERER");
}
}
?>

// include

<?php
// wczytujemy sonde na swoją stronę
// wklej ten kod w miejscu gdzie ma być wyśweitlona sonda
include("sonda.php");
?>
 


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=4&t=5424

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: s0viet Ranga: Poziom 3 Punktów: 50
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors