een poll

Status
Niet open voor verdere reacties.

apostel

Gebruiker
Lid geworden
16 mei 2002
Berichten
721
Hallo allemaal,

Vraagje?
Ik heb een poll of iets dergelijks nodig waar ongeveer 13 mensen op iets kunnen stemmen met ja of nee .
En dat ze dat natuurlijk maar 1 keer kunnen doen .
Kent er iemand een programmatje voor of een frontpage code ????
Alvast bedankt
 
ondertussen...

Hallo allemaal

Ben er dus zelf aan begonnen voor een script te maken in php voor een poll.
Maar heb al verschillende problemen
1 - hoe kan ik van iedere persoon het percentage yes en no laten zien ?
2 -hoe bescherm ik deze dan nog dmv dat ze niet meer als 1 keer kunnen stemmen .
Zal jullie eeuwig dankbaar zijn
P.s:die downloads via hotscript etc.. zijn gewoon 1 vraag polls en heb 15 vragen .

Hier me poll.php script

<?
$aantalDecimalen=1;
$totaal=0;

function getStand($nr) {
global $totaal, $st, $aantalDecimalen;
if ( $totaal == "" ){
return 0;
}
$procent=$st[$nr]/$totaal*100;
for ($i=0;$i<$aantalDecimalen;$i++) {
$procent *= 10;
}
$procent=(int)($procent+0.5);
for ($i=0;$i<$aantalDecimalen;$i++) {
$procent /= 10;
}
return $procent;
}

function reedsGestemd() {
$log=fopen("log.txt","r");
while ( !feof($log) ) {
$ips[]=trim(fgets($log,20));
}
fclose($log);
if ( in_array(getenv("REMOTE_ADDR"),$ips) ){
return true;
} else {
return false;
}
}
?>
<HTML>
<HEAD>
<TITLE>Poll</TITLE>
</HEAD>

<BODY class="bged">

<?
if ( $stand==1 ){
$bestand=fopen("stand.txt","r");
for ( $i=0;$i>=0;$i++ ) {
$dummy=trim(fgets($bestand,10));
if ( feof($bestand) ){
break;
}
$totaal+=($st[$i]=($dummy==""?0:$dummy));
}
fclose($bestand);

if ( $submit=="Stem" && ($meerdere_stemmen==1 || !reedsGestemd())){
$st[$poll]=($st[$poll]!=""?$st[$poll]+1:1);
$totaal++;
$bestand=fopen("stand.txt","w");
$dummy=array_keys($st);
rsort($dummy);
for ( $i=0;$i<=$dummy[0];$i++ ) {
fputs($bestand,$st[$i]."\n");
}
fclose($bestand);

$log=fopen("log.txt","a");
fputs($log,getenv("REMOTE_ADDR")."\n");
fclose($log);
}

?>
<P>De stand van de poll is als volgt:</P>
<P><TABLE border="0" style="border-width: 0;">
<TR><TD>Optie 1:</TD><TD align="right"><? echo getStand(0); ?> %</TD><TD><IMG src="/stand.gif" height="14" width="<? echo getStand(0); ?>"></TD></TR>
<TR><TD>Optie 2:</TD><TD align="right"><? echo getStand(1); ?> %</TD><TD><IMG src="/stand.gif" height="14" width="<? echo getStand(1); ?>"></TD></TR>
</TABLE></P>
<P>Aantal stemmen: <? echo $totaal; ?></P>
<?
} else {
?>
<P>Absa</P>
<P><FORM action="poll.php" method="GET">
<INPUT type="hidden" name="stand" value="1">
<INPUT type="radio" name="poll" value="0" checked="true">Yes<BR>
<INPUT type="radio" name="poll" value="1">No<BR>
</FORM></P>
<? } ?>
<P>Gorasonas</P>
<P><FORM action="poll.php" method="GET">
<INPUT type="hidden" name="stand" value="1">
<INPUT type="radio" name="poll" value="0" checked="true">Yes<BR>
<INPUT type="radio" name="poll" value="1">No<BR>
</FORM></P>
<? } ?>
<P>Matrix</P>
<P><FORM action="poll.php" method="GET">
<INPUT type="hidden" name="stand" value="1">
<INPUT type="radio" name="poll" value="0" checked="true">Yes<BR>
<INPUT type="radio" name="poll" value="1">No<BR>
<P><INPUT type="submit" name="submit" value="Stem"><FONT size="-1"> (1x klikken)</FONT>
</FORM></P>
<? } ?>
</BODY>
</HTML>
 
ah

Zag juist de vote caster op bravenet staan die is perfect maar moet hem zo hebben met 15 vragen dan :o
Iemand raad ?
 
Begin eens met de PHP code tussen PHP tags te zetten... zo valt het niet te lezen.

Ik doe het voor deze keer voor je :

PHP:
<? 
$aantalDecimalen=1; 
$totaal=0; 

function getStand($nr) { 
global $totaal, $st, $aantalDecimalen; 
if ( $totaal == "" ){ 
return 0; 
} 
$procent=$st[$nr]/$totaal*100; 
for ($i=0;$i<$aantalDecimalen;$i++) { 
$procent *= 10; 
} 
$procent=(int)($procent+0.5); 
for ($i=0;$i<$aantalDecimalen;$i++) { 
$procent /= 10; 
} 
return $procent; 
} 

function reedsGestemd() { 
$log=fopen("log.txt","r"); 
while ( !feof($log) ) { 
$ips[]=trim(fgets($log,20)); 
} 
fclose($log); 
if ( in_array(getenv("REMOTE_ADDR"),$ips) ){ 
return true; 
} else { 
return false; 
} 
} 
?> 
<HTML> 
<HEAD> 
<TITLE>Poll</TITLE> 
</HEAD> 

<BODY class="bged"> 

<? 
if ( $stand==1 ){ 
$bestand=fopen("stand.txt","r"); 
for ( $i=0;$i>=0;$i++ ) { 
$dummy=trim(fgets($bestand,10)); 
if ( feof($bestand) ){ 
break; 
} 
$totaal+=($st[$i]=($dummy==""?0:$dummy)); 
} 
fclose($bestand); 

if ( $submit=="Stem" && ($meerdere_stemmen==1 || !reedsGestemd())){ 
$st[$poll]=($st[$poll]!=""?$st[$poll]+1:1); 
$totaal++; 
$bestand=fopen("stand.txt","w"); 
$dummy=array_keys($st); 
rsort($dummy); 
for ( $i=0;$i<=$dummy[0];$i++ ) { 
fputs($bestand,$st[$i]."\n"); 
} 
fclose($bestand); 

$log=fopen("log.txt","a"); 
fputs($log,getenv("REMOTE_ADDR")."\n"); 
fclose($log); 
} 

?> 
<P>De stand van de poll is als volgt:</P> 
<P><TABLE border="0" style="border-width: 0;"> 
<TR><TD>Optie 1:</TD><TD align="right"><? echo getStand(0); ?> %</TD><TD><IMG src="/stand.gif" height="14" width="<? echo getStand(0); ?>"></TD></TR> 
<TR><TD>Optie 2:</TD><TD align="right"><? echo getStand(1); ?> %</TD><TD><IMG src="/stand.gif" height="14" width="<? echo getStand(1); ?>"></TD></TR> 
</TABLE></P> 
<P>Aantal stemmen: <? echo $totaal; ?></P> 
<? 
} else { 
?> 
<P>Absa</P> 
<P><FORM action="poll.php" method="GET"> 
<INPUT type="hidden" name="stand" value="1"> 
<INPUT type="radio" name="poll" value="0" checked="true">Yes<BR> 
<INPUT type="radio" name="poll" value="1">No<BR> 
</FORM></P> 
<? } ?> 
<P>Gorasonas</P> 
<P><FORM action="poll.php" method="GET"> 
<INPUT type="hidden" name="stand" value="1"> 
<INPUT type="radio" name="poll" value="0" checked="true">Yes<BR> 
<INPUT type="radio" name="poll" value="1">No<BR> 
</FORM></P> 
<? } ?> 
<P>Matrix</P> 
<P><FORM action="poll.php" method="GET"> 
<INPUT type="hidden" name="stand" value="1"> 
<INPUT type="radio" name="poll" value="0" checked="true">Yes<BR> 
<INPUT type="radio" name="poll" value="1">No<BR> 
<P><INPUT type="submit" name="submit" value="Stem"><FONT size="-1"> (1x klikken)</FONT> 
</FORM></P> 
<? } ?> 
</BODY> 
</HTML>
 
Verplaatst van Internet Homepages naar Programmeren / Php
 
Sorry, maar dit script is zo brak, ik weet niet eens waar ik moet beginnen met verbeteren :8-0:
Als je een poll met 15 antwoorden wil kan ik wel ff voor je scripten, maar het script dat je hierboven postte heeft zoveel vage dingen :(
 
als je dat ...

Hoi Jpeetje

Als je dat zou willen doen ?
Zou ik heel vriendelijk vinden :thumb:
Want ik geraak er niet uit hier :o
ALvast wachtende op positief antwoord ;)
 
Ik zal d'r vanmiddag aan beginnen, dan heb je 'm morgen of zo :)
 
Done :)
Je moet een database en een tabel aanmaken. De query voor de tabel:
Code:
CREATE TABLE `stemmen` (
`id` int(11) NOT NULL AUTO_INCREMENT DEFAULT '',
`ip` varchar(15) NOT NULL DEFAULT '',
`stem` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY(`id`)
);
't Script:
PHP:
<?
// MySQL gegevens
$cfg["sql_host"] = "localhost"; // De host
$cfg["sql_user"] = ""; // Gebruikersnaam
$cfg["sql_pass"] = ""; // Wachtwoord
$cfg["sql_db"] = ""; // De database

// Poll vraag & antwoorden
$cfg["vragen"] = array("Een antwoord","Nog een antwoord","En nog een","Nummer 4","Antwoord vijf","Nog iets"); // De vragen

// PHP codes
$connect = @mysql_connect($cfg["sql_host"],$cfg["sql_user"],$cfg["sql_pass"]) or die("Kon geen verbinding maken de MySQL server: " . mysql_error());
@mysql_select_db($cfg["sql_db"],$connect) or die("Kon database niet selecteren: " . mysql_error());

$ip = $_SERVER["REMOTE_ADDR"];
$gestemd = FALSE;
$query = "SELECT id FROM stemmen WHERE ip = '" . $ip . "' LIMIT 0,1";
$result = @mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error());
  if(mysql_num_rows($result) > 0)
  {
  $gestemd = TRUE;
  }

  if(isset($_POST["stem"]) == TRUE)
  {
    if(gettype($_POST["stem"]) == "array")
    {
      if($gestemd == TRUE)
      {
      echo "Je hebt al op deze poll gestemd";
      }
      else
      {
      $stemmen = "";
        for($i=0;$i<count($cfg["vragen"]);$i++)
        {
          if(isset($_POST["stem"][$i]) == FALSE)
          {
          echo "Selecteer alle opties";
          die();
          }

          if($stemmen != "")
          {
          $stemmen .= ",";
          }
        $stemmen .= ((int) $_POST["stem"][$i]);
        }

      $query = "INSERT INTO stemmen (id,ip,stem) VALUES ('','" . $ip . "','" . $stemmen . "')";
      $result = @mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error());
        if(mysql_affected_rows() == 0)
        {
        echo "Om onbekende redenen konden je stemmen niet in de database worden ingevoerd.";
        }
        else
        {
        echo "Bedankt voor je stemmen !";
        }
      }
    echo "<br><br>";
    }    
  }

$query = "SELECT * FROM stemmen";
$result = @mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error());
$totaal = 0;
$stemmen = array();
  while($rij = mysql_fetch_object($result))
  {
  $stem = explode(",",$rij->stem);
    foreach($stem AS $key => $value)
    {
      if(isset($stemmen[$key][$value]) == FALSE)
      {
      $stemmen[$key][$value] = 1;
      }
      else
      {
      $stemmen[$key][$value]++;
      }
    }
  }

echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">\n";

  foreach($cfg["vragen"] AS $key => $value)
  {
  echo "<b>" . $cfg["vragen"][$key] . "</b><br>\n";
  echo "<input type=\"radio\" name=\"stem[" . $key . "]\" value=\"1\">Yes (";
    if(isset($stemmen[$key][1]) == FALSE)
    {
    echo "0";
    }
    else
    {
    echo $stemmen[$key][1];
    }
  echo " votes)<br>\n";
  echo "<input type=\"radio\" name=\"stem[" . $key . "]\" value=\"0\">No (";
    if(isset($stemmen[$key][0]) == FALSE)
    {
    echo "0";
    }
    else
    {
    echo $stemmen[$key][0];
    }
  echo " votes)<br>\n";
  }

echo "<input type=\"submit\" value=\"Stem !\"></form>\n";
?>
Succes d'rmee :thumb:
 
Hartelijk dank

Hey
Bedankt dat vind ik nu tof :thumb:
Zal het direct proberen maar zal wel werken .
Zal wel niet op tripod free website gaan maar dan run ik wel een eigen server best .
Alvast duizend keer bedankt
JPeetje :thumb: :love: :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan