[hulp gevraagd]submit met radio

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

06/11/2007 11:50:00
Quote Anchor link
Simon om eerlijk te zijn je formulier zit wel een beetje raar in elkaar, normaal gebruik je of GET of POST wat je wel kunt doen als je verschillende formulieren wilt dat je bijvoorbeeld in je action een GET meegeeft en op basis daarvan een nieuw formulier opbouwt maar dan zou ik er zeker voor kiezen om de formulier velden te POSTEN :)
Gewijzigd op 01/01/1970 01:00:00 door
 
PHP hulp

PHP hulp

24/11/2024 18:50:35
 
- SanThe -

- SanThe -

06/11/2007 11:51:00
Quote Anchor link
Je bent raar ......... daar vroeg je om in je edit. ;-)))
Hahaha.

Maar die $_GET, waar krijgt die dan zijn waarde?
 

06/11/2007 11:55:00
Quote Anchor link
De enige manier die kan verzinnen is dat hij hem mee krijgt in ze URI :P (handmatig)
 
Simon

simon

06/11/2007 11:59:00
Quote Anchor link
@santhe: de $_GET['id'] krijgt zijn waarde van de url. dus www.blabla.com/?id=2

@pascal: het is maar 1 formuliertje maar zoals hierboven is uitgelegd krijgt je het ID via de GET. dat heb ik gedaan omdat je als je hebt gevote dat je dan gelijk naar de volgende pagina word doorverwezen.

(ik wil ooit ook nog checks voor ip's erop zetten zodat ze niet kunnen smokkelen met hun votes, maar dat gaat nu nog mijn pet te boven:P)

(bedankt dat jullie mij raar vinden dat is namelijk mijn tweede naam:P)

dit is nu mijn code (die is werkend) misschien kunnen jullie hem nog een keer bekijken en verbeterpunten aangeven.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php

$con
= mysql_connect('192.168.1.155','ontwikkeling','kipei');
mysql_select_db('simon',$con);

(
is_numeric($_GET['id']) ? $n_id=$_GET['id'] : die($_GET['id']." bevat geen numerieke waarde"));

    if (ereg("^[0-9]+$", $_GET['id'])) {

    $sql = 'SELECT *
             FROM votes
             WHERE    id = "'
.$_GET['id'].'"';

    if (!$res = mysql_query($sql)) {

        trigger_error (mysql_error ());

    }
else {

        while($row = mysql_fetch_array($res)){

            echo '<img src="'.$row['path'].'" />';
            echo '<br/><br/>';
            echo 'numbers voted for hot :'.$row['hot'].'<br/>';
            $not = $row['totaal'] - $row['hot'];
            echo 'numbers voted for not : '.$not.'<br/>';
            echo 'total votes: '.$row['totaal'].'<br/>';
            $gem = ($row['hot'] / $row['totaal']) * 100;
            $afgerond = sprintf('%01.2f', $gem);
            echo 'avarage score: '.$afgerond. '<br/><br/>';

        }

        
        $query = "SELECT COUNT(1) FROM votes";

        if (!$result = mysql_query($query)) {

            trigger_error (mysql_error ());

        }
else {

            $row = mysql_fetch_row($result);
            
            mysql_query('UPDATE votes SET hot WHERE id = '.$_GET['id'].'');

            echo '<form action="#" method="post">';
               echo '<input type="hidden" name="saveid" value="'.$_GET['id'].'" />';
            echo 'HOT: <input type="radio" onclick="form.submit()" name="hot" value="1" />';
            echo 'NOT: <input type="radio" onclick="form.submit()" name="not" value="0" />';
            echo '</form>';

        }


            if(isset($_POST['hot'])){

                if(is_numeric($_POST['saveid'])){

                    $sql ='UPDATE votes
                                SET hot = hot + '
.$_POST['hot'].'
                                WHERE id='
.$_POST['saveid'].'';
                
                
                            if($rst = mysql_query($sql)){
                            }
else{

                            }


                    $sql ='UPDATE votes
                                SET totaal = totaal + 1
                                WHERE id='
.$_POST['saveid'].'';
                
                
                            if($rst = mysql_query($sql)){
                                echo "<p>You Voted \"HOT\"</p>";
                            }
else{

                            }
                }

        }


            if(isset($_POST['not'])){

                if(is_numeric($_POST['saveid'])){


                    $sql ="UPDATE votes
                                SET totaal = totaal + 1
                                WHERE id='"
.$_POST['saveid']."'";
                
                    if($rst = mysql_query($sql)){

                        echo "<p>You Voted \"NOT\"</p>";
                    }
else{

                    }


                }

            }

        }

    }
else{

    echo 'the ID must be an integer';

    }


?>
Gewijzigd op 01/01/1970 01:00:00 door simon
 
- SanThe -

- SanThe -

06/11/2007 12:12:00
Quote Anchor link
simon schreef op 06.11.2007 11:59:
@santhe: de $_GET['id'] krijgt zijn waarde van de url. dus www.blabla.com/?id=2

En waar doe je dat?
 
Simon

simon

06/11/2007 12:16:00
Quote Anchor link
als je $_GET['id'] in je code zet haalt hij het toch automatisch van de url?

of zit ik nu in de verkeerde richting te denken?
 

06/11/2007 12:18:00
Quote Anchor link
klopt mits je deze mee geeft aan de URL anders zou die NULL bevatten.

Verbeterings punten al je echo's in aan een variabel stoppen en op het laatste moment 1 echo doen :) probeer delen in functies te schrijven ipv alles linieer word de code een stuk makelijk te onderhouden!
 
Simon

simon

06/11/2007 12:21:00
Quote Anchor link
wat zou ik dan bijvoorbeeld beter in een functie kunnen schrijven? (ben een beginneling dus wil zoveel mogelijk leren)
 

06/11/2007 12:36:00
Quote Anchor link
bijvoorbeeld je controlle op de $_GET variabelen een eigen functie schrijven die een waarde RETURN TRUE of FALSE en vervolgens maak je zelf een loop waarbij je controleerd of die waarde juist is word je loop weer kleiner en overzichtelijker. ook kan je een controlleren op je POST variabelen en bijvoorbeeld de rest doormiddel van een functie af laten handelen.

Zou het zoiets kunnen worden, moet je natuurlijk wel al die functies zelf schrijven:

[linebreak]Code (php) 1234567891011121314151617 &lt;?phpif(isGeldigNum($_GET[id])){&nbsp;&nbsp;&nbsp;&nbsp; if(isAlgepost($_POST[waarde]))&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp; verwerkFormulier();&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp; toonFormulier($geefWaardeMeeAlsParam);&nbsp;&nbsp;&nbsp;&nbsp; }}else{toonError();}?&gt; [linebreak]
Gewijzigd op 01/01/1970 01:00:00 door
 
Simon

simon

06/11/2007 13:19:00
Quote Anchor link
hmm.. ik weet eigenlijk nog niks van functies af... maar ik zal me er morgen eens een beetje in gaan verdiepen.

kijken of ik de code dan mooier en korter kan maken :P
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.