Wie kan mij helpen met mijn poll script?

Status
Niet open voor verdere reacties.

joept

Gebruiker
Lid geworden
9 okt 2007
Berichten
931
Hoi,

Ik ben bezig met een poll.
Ik heb dit poll script van phphulp.nl De poll zelf werkt prima.
Maar voor de rest is het nou niet echt bepaald goed.
1. Ik kan gewoon elk wachtwoord intypen want het wachtwoord is toch altijd goed!
2. Als ik de poll probeer te verwijderen. Dan krijg ik de foutmelding:
Fout in mysql! Mail .....@myblogsite.nl of probeer het opnieuw
(Ik heb even het E-mail adres weg gehaald want ik wil geen spam)
De poll staat al online je kan hem dus bekijken op: http://myblogsite.nl/pollscript.php

Hier komt het PHP script:
Code:
<?php
session_start();
/*
Copyright Teun Beijers
--------Instellingen--------
Voer eerst deze sql-query uit:

CREATE TABLE `poll` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`optie` INT( 2 ) NOT NULL ,
`poll` INT( 2 ) NOT NULL ,
`ip` VARCHAR( 255 ) NOT NULL ,
UNIQUE (
`id` 
)
) ENGINE = InnoDB;

CREATE TABLE `polls` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`vraag` VARCHAR( 255 ) NOT NULL ,
`opties` VARCHAR( 255 ) NOT NULL ,
UNIQUE (
`id` 
)
) ENGINE = InnoDB 
*/
$mysqlhost = 'localhost';//Je mysql-host
$mysqluser = 'root';//Je mysql-gebruikersnaam
$mysqlpass = '*****';//Je mysql-wachtwoord
$mysqldatabase = 'poll';//De database waarin je de poll wil installeren
$adminwachtwoord = '*****';//Het wachtwoord waarmee je het administratiepaneel in kan
$mail = 'mail@mail.mail';//Je mail adres, voor support
/*Einde instellingen*/

$connection = mysql_connect($mysqlhost, $mysqluser, $mysqlpass) or die ("Error: kon geen verbinding maken met de database!");
                
        if($connection)    
        {
            $select_db = mysql_select_db($mysqldatabase) or die ("Error: kon de database niet selecteren!");
        }

$pagina = $_GET['p'];
if(!isset($pagina) || $pagina == '') {
    $pagina = 'poll';
}
if($pagina == 'poll') {
    $extra = $_GET['a'];
    if($extra == "" || !isset($extra)) {
        echo '<h1>Poll</h1>';
        $sql = "SELECT * FROM `polls`";
        $query = mysql_query($sql) or die('Fout in mysql! Mail <a href="mailto:'.$mail.'">'.$mail.'</a> of probeer het opnieuw');
        while($polls = mysql_fetch_array($query)) {
            $totaalstemmen = mysql_num_rows(mysql_query("SELECT * FROM `poll` WHERE `poll` = ".$polls['id']));
            echo '<h2>' . $polls['vraag'].'</h2>';
            $opties = explode(',',$polls['opties']);
            $i = 0;
            while($i < count($opties)) {
                $aantalstemmen = mysql_num_rows(mysql_query("SELECT * FROM `poll` WHERE `poll` = ".$polls['id']." AND `optie` = ".$i));
                if($totaalstemmen != 0) {
                    $percentage = ($aantalstemmen/$totaalstemmen)*100;
                } else {
                    $percentage = 0;
                }
                echo '<a href="pollscript.php?p=poll&a=stemmen&b='.$i.'&c='.$polls['id'].'" target="_blank">'.$opties[$i].'</a> '.$percentage.'% <br />';
                $i++;
            }
            echo 'Totaal aantal stemmen: '.$totaalstemmen;
            echo '<hr>';
        }
        echo '<a href="pollscript.php?p=login">Administratiepaneel</a>';
    } elseif($extra == 'stemmen') {
        $sql = "SELECT * FROM `poll` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `poll` = '".mysql_real_escape_string($_GET['c'])."'";
        $num_rows = mysql_num_rows(mysql_query($sql));
        if($num_rows != 0) {
            echo "Je hebt al een keer gestemd!";
        } else {
            $sql = "INSERT INTO `poll` SET
            `optie` = ".mysql_real_escape_string($_GET['b']).",
            `poll` = ".mysql_real_escape_string($_GET['c']).",
            `ip` = '".$_SERVER['REMOTE_ADDR']."'";
            mysql_query($sql) or die('fout in mysql, stem is niet getelt!');
            echo "U heeft succesvol gestemt!";
        }
    }    
} elseif($pagina == 'login') {
    echo '<h1>Login</h1>';
    echo '<form id="form1" name="form1" method="post" action="pollscript.php?p=admin">
              <label>
                  <input name="pass" type="password" id="pass" />
              </label>
            <label>
                  <input type="submit" name="Submit" value="Log in!" />
              </label>
        </form>';
} elseif($pagina == 'admin') {
    $pass = $_POST['pass'];
    if($pass == $adminwachtwoord) {
        $_SESSION['pass'] = $pass;
    }
    if($_SESSION['pass'] == $adminwachtwoord) {
        $extra = $_GET['a'];
        if(!isset($extra) || $extra == "") {
            echo '<h1>Administratie</h1>';
            echo '<a href="pollscript.php?p=admin&a=toevoegen">Poll toevoegen</a>';
            echo '<a href="pollscript.php?p=admin&a=verwijderen">Poll verwijderen</a>';
        } elseif($extra == 'toevoegen') {
            $stap = $_GET['b'];
            if($stap == 1 || !isset($stap) || $stap == "") {
                echo '<form id="form1" name="form1" method="post" action="pollscript.php?p=admin&a=toevoegen&b=2">
                      <label>
                      Vraag:
                      <input type="text" name="vraag" />
                      </label>
                      <br />
                      Aantal opties:
                      <label>
                      <input type="text" name="aantal" />
                      </label>
                      <br />
                      <label>
                      <input type="submit" name="Submit" value="Ga verder->" />
                      </label>
                    </form>';
            } elseif($stap == 2) {
                if($_SERVER['REQUEST_METHOD'] == "POST") {
                    $vraag = $_POST['vraag'];
                    $aantal = $_POST['aantal'];
                    $i = 0;
                    echo '<h2>'.$vraag.'</h2>';
                    echo '<form id="form1" name="form1" method="post" action="pollscript.php?p=admin&a=toevoegen&b=3">';
                    while($i < $aantal) {
                        echo 'Optie '.($i+1).':
                              <label>
                              <input type="text" name="optie'.$i.'" />
                              </label><br />';
                        $i++;
                    }
                    echo '<input type="hidden" name="vraag" value="'.$vraag.'"/>';
                    echo '<input type="hidden" name="aantal" value="'.$aantal.'"/>';
                    echo '<label>
                      <input type="submit" name="Submit" value="Voeg poll toe!" />
                      </label>';
                    echo '</form>';
                } else {
                    echo 'Er is helaas een fout opgetreden, probeer het aub opnieuw of stuur een maitje naar: <a href="mailto:'.$mail.'">'.$mail.'</a>';
                }
            } elseif($stap == 3) {
                if($_SERVER['REQUEST_METHOD'] == "POST") {
                    $vraag = $_POST['vraag'];
                    $aantal = $_POST['aantal'];
                    $i = 0;
                    $opties = "";
                    while($i < $aantal) {
                        if($aantal-1 != $i) {
                            $opties .= $_POST['optie'.$i].',';
                        } else {
                            $opties .= $_POST['optie'.$i];
                        }
                        $i++;
                    }
                    $sql = "INSERT INTO `polls` SET
                    `vraag` = '".mysql_real_escape_string($vraag)."',
                    `opties` = '".mysql_real_escape_string($opties)."'";
                    mysql_query($sql) or die('Fout in mysql! Mail <a href="mailto:'.$mail.'">'.$mail.'</a> of probeer het opnieuw');
                    echo "POLL SUCCESVOL TOEGEVOEGD!";
                } else {
                    echo 'Er is helaas een fout opgetreden, probeer het aub opnieuw of stuur een maitje naar: <a href="mailto:'.$mail.'">'.$mail.'</a>';
                }
            }
        } elseif($extra == "verwijderen") {
            if($_SERVER['REQUEST_METHOD'] != "POST") {
                $sql = "SELECT * FROM `polls`";
                $query = mysql_query($sql) or die('Fout in mysql! Mail <a href="mailto:'.$mail.'">'.$mail.'</a> of probeer het opnieuw');
                echo '<form id="form1" name="form1" method="post" action="pollscript.php?p=admin&a=verwijderen">';
                while($result = mysql_fetch_array($query)) {
                    $id = $result['id'];
                    $vraag = $result['vraag'];                
                    echo $vraag;
                    echo '<label>
                            <input name="verwijder" type="radio" value="'.$id.'" />
                        </label>';
                    echo '<br />';                
                }
                echo '<label>
                          <input type="submit" name="Submit" value="Verwijder!" />
                    </label>';
                echo '</form>';
            } else {
                $id = $_POST['verwijder'];
                $sql = "DELETE * FROM `polls` WHERE  `id` = ".$id;
                mysql_query($sql) or die('Fout in mysql! Mail <a href="mailto:'.$mail.'">'.$mail.'</a> of probeer het opnieuw');
                $sql = "DELETE * FROM `poll` WHERE `poll` = ".$id;
                mysql_query($sql) or die('Fout in mysql! Mail <a href="mailto:'.$mail.'">'.$mail.'</a> of probeer het opnieuw');
                echo 'Succesvol verwijdert!';
            }
        }
    } else {
        echo 'Verkeerd wachtwoord!';
    }
}
?>

En het volgende code moest ik via phpMyAdmin bij het knopje SQL invullen:

Code:
CREATE TABLE poll (
id INT( 10 ) NOT NULL AUTO_INCREMENT ,
optie INT( 2 ) NOT NULL ,
poll INT( 2 ) NOT NULL ,
ip VARCHAR( 255 ) NOT NULL ,
UNIQUE (
id 
)
) ENGINE = InnoDB;

CREATE TABLE polls (
id INT( 10 ) NOT NULL AUTO_INCREMENT ,
vraag VARCHAR( 255 ) NOT NULL ,
opties VARCHAR( 255 ) NOT NULL ,
UNIQUE (
id 
)
) ENGINE = InnoDB

Je kan het code ook bekijken op: http://www.phphulp.nl/php/scripts/1/1196/
Ik heb zelf alleen wat veranderd in het code namelijk dit:
Code:
$id = $_POST['id'];

In dit:
Code:
$id = $_POST['verwijder'];
Alvast bedankt voor de hulp! :D
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan