Occi Skrevet 10. november 2010 Del Skrevet 10. november 2010 Hei Jeg er i gang med et skoleprosjekt på IT@HiO hvor vi skal lage en nettside. Men det er en ting som vi sliter med å finne noe bra av: Poll. Ingen av oss kan javascript, eller veldig mye php, men klarer å integrere på siden vår. Problemet er at det helst ikke skal være noe reklame med, og helst ikke flash. Vi har også mulighet for å lagre dataene på filserveren nettsiden skal ligge på såvidt jeg vet, så trenger egentlig ikke noe online poll som lenker til en annen side, men rett og slett scriptet. Det hadde vært kjempefint om noen ville gitt en hjelpende hånd! :-) Jeg har prøvd flere polls uten å være fornøyd, og har også søkt her på forumet (men finner så latterlig mye urelevant og dårlige svar). Lenke til kommentar
fiberkanin Skrevet 10. november 2010 Del Skrevet 10. november 2010 som dette? PHP Example - AJAX Poll Lenke til kommentar
Occi Skrevet 10. november 2010 Forfatter Del Skrevet 10. november 2010 Haha for en tilfeldighet, satt akkurat opp det greiene der fiberkanin og fikk det delvis til å virke ^_^ Men et problem; det går an å vote så mange ganger man vil.. Får vel lese igjennom et par ganger til, men har ikke oppdaget noen cookie el.l. Lenke til kommentar
Occi Skrevet 10. november 2010 Forfatter Del Skrevet 10. november 2010 Har kommet over et problem til: Hva om jeg har lyst å legge til et svaralternativ til for å se om det fungerer. Her er hva jeg prøvde; men jeg kan ikke noe php/js så prøver meg egentlig bare litt frem etter å lese hvordan koden fungerer, men tydeligvis er det noe som ikke er riktig. Fordi jeg kan vote, men resultatet vises ikke. Her er koden jeg prøvde: HTML: <html> <head> <script type="text/javascript"> function getVote(int) { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("poll").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","poll_vote.php?vote="+int,true); xmlhttp.send(); } </script> </head> <body> <div id="poll"> <h3>Do you like PHP and AJAX so far?</h3> <form> Yes: <input type="radio" name="vote" value="0" onclick="getVote(this.value)" /> <br />No: <input type="radio" name="vote" value="1" onclick="getVote(this.value)" /> <br />Maybe: <input type="radio" name="vote" value="2" onclick="getVote(this.value)" /> </form> </div> </body> </html> PHP: <html> <?php $vote = $_REQUEST['vote']; //get content of textfile $filename = "poll_result.txt"; $content = file($filename); //put content in array $array = explode("||", $content[0]); $yes = $array[0]; $no = $array[1]; $maybe = $array[2]; if ($vote == 0) { $yes = $yes + 1; } if ($vote == 1) { $no = $no + 1; } if ($maybe = $ == 2) { $maybe = $maybe + 1; } //insert votes to txt file $insertvote = $yes."|".$no"|".$maybe; $fp = fopen($filename,"w"); fputs($fp,$insertvote); fclose($fp); ?> <h2>Result:</h2> <table> <tr> <td>Yes:</td> <td> <img src="poll.gif" width='<?php echo(100*round($yes/($no+$yes+$maybe),3)); ?>' height='20'> <?php echo(100*round($yes/($no+$yes+$maybe),3)); ?>% </td> </tr> <tr> <td>No:</td> <td> <img src="poll.gif" width='<?php echo(100*round($no/($no+$yes+$maybe),3)); ?>' height='20'> <?php echo(100*round($no/($no+$yes+$maybe),3)); ?>% </td> <td>Maybe:</td> <td> <img src="poll.gif" width='<?php echo(100*round($no/($no+$yes+$maybe),3)); ?>' height='20'> <?php echo(100*round($maybe/($no+$yes+$maybe),3)); ?>% </td> </tr> </table> Lenke til kommentar
Matsemann Skrevet 13. november 2010 Del Skrevet 13. november 2010 Isteden for å knabbe kode, modifisere det og håpe at det virker, ville jeg heller satt meg ned og prøvd å forstå hva som faktisk skjer og hvordan man kunne laget det selv. Du går vel på skole for å lære? Et tips: Dropp AJAX om du ikke er stø på dette fra før av. Det er 100% unødvendig, og kan legges på i etterkant når resten virker som det skal. Åpne txt-filen dere skriver til og se om det faktisk er lagret noe der. Og lag en funksjon isteden for echo(100*round($maybe/($no+$yes+$maybe),3)) overalt. Lenke til kommentar
Occi Skrevet 20. november 2010 Forfatter Del Skrevet 20. november 2010 Hehe ja det er vel det beste Matsemann, men tingen er at dette var ikke et prosjekt som gikk ut på å egentlig ta i bruk JS/PHP, men var bare noe vi ville ha med som en ekstragreie på nettsiden, så hadde ikke tid eller interesse av å bruke tiden på å lære oss f.eks PHPen som krevdes for pollet som ble linket litt lengre opp, da ingen av oss kunne noe fra før. Lenke til kommentar
Merko Skrevet 22. november 2010 Del Skrevet 22. november 2010 Kan igrunn ingenting php\js selv. Men tror problemet i koden din ligger her: $insertvote = $yes."|".$no"|".$maybe; Bytt til $insertvote = $yes."||".$no."||".$maybe; Små må du kanskje bytte ut den første $no (på den nederste) til $maybe slik at du viser den "grafikk-baren" fra $maybe og ikke $no width='<?php echo(100*round($no/($no+$yes+$maybe),3)); ?>' Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå