Avatar billede djsteiner Nybegynder
08. maj 2012 - 23:07 Der er 6 kommentarer og
1 løsning

Voting

Hej Jeg får denne fejl:

Notice: Undefined index: is_posted in C:\wamp\www\picture voting\test.php on line 30 Call Stack: 0.0016 693744 1. {main}() C:\wamp\www\picture voting\test.php:0


Når jeg køre dette script:   

jeg har markeret line 30 med ()


<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("voting", $db);

$votes_array = array("Jeg elsker den!", "Den er ok...", "Ved ikke", "Kan ikke lide den...");
?>

Hvad synes du om den nye F599 Fiorano?

<?php
$ip = $_SERVER['REMOTE_ADDR'];

$result = mysql_query("SELECT COUNT(*) FROM afstem WHERE ip = '".$ip."'") or die (mysql_error());
?>

<?php
(line 30) if (mysql_result($result, 0) == 0):
?>

    <?php
    if ($_POST['is_posted']):
        mysql_query("INSERT INTO afstem (vote, ip) VALUES ('".$_POST['vote']."', '".$ip."')") or die(mysql_error());
    endif;
    ?>

    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

    <input type="hidden" name="is_posted" value="1">

    <?php
    for ($i=0; $i<count($votes_array); $i++):
        echo "<input name=vote type=radio value=".$i."> ".$votes_array[$i]."<br />";
    endfor;
    ?>

    <input type="submit" value="Stem">
    </form>

<?php
else:
?>

    <?php
    $result = mysql_query("SELECT COUNT(*) FROM afstem") or die(mysql_error());

    $total_votes = mysql_result($result, 0);
    ?>

    <?php
    $result = mysql_query("SELECT vote, COUNT(*) AS num_of_votes FROM afstem GROUP BY vote") or die(mysql_error());
 
    while ($data = mysql_fetch_array($result, MYSQL_ASSOC)):
        $vote = $data['vote'];

        $votes[$vote] = $data['num_of_votes'];
    endwhile;

    for ($i=0; $i<count($votes_array); $i++):
        echo $votes_array[$i].": ";

        if (isset($votes[$i])):
            echo "(".round($votes[$i] / $total_votes * 100)."%)";
        else:
            echo "(0%)";
        endif;

        echo "<br />";
    endfor;
    ?>

<?php
endif;
?>
Avatar billede erikjacobsen Ekspert
09. maj 2012 - 10:00 #1
Jeg tror du har talt forkert mht linie 30. Erstat

      if ($_POST['is_posted']):

med

      if (isset($_POST['is_posted'])):
Avatar billede djsteiner Nybegynder
09. maj 2012 - 10:44 #2
Hej ja det virkede :)

Men nu får jeg dette resultat:

Hvad synes du om den nye F599 Fiorano? Duplicate entry '1270' for key 'PRIMARY'
Avatar billede erikjacobsen Ekspert
09. maj 2012 - 12:25 #3
Det må være din INSERT. Hvordan ser tabellen afstem ud?
Avatar billede djsteiner Nybegynder
09. maj 2012 - 18:00 #4
Hej igen jeg prøvede lige at kigge på tabellen afstem og kunne se den manglede en række efter jeg satte den ind virkede det :)

Tak for hjælpen! :)

Nu skal jeg så have lavet det sådan at man kan stemme på billeder.

Så kommer nok med endnu et spørgsmål på et andet tidspunkt.

Kom med et svar så giver jeg point :)
Avatar billede erikjacobsen Ekspert
09. maj 2012 - 23:52 #5
Jeg samler slet ikke på point, tak. Svar selv, og accepter dit eget svar. De point kan du så bruge en anden gang ;)
Avatar billede djsteiner Nybegynder
10. maj 2012 - 11:28 #6
Mange tak! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester