value in velden behouden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan van Iwaarden

Stefan van Iwaarden

05/05/2008 00:01:00
Quote Anchor link
Ik heb een contactformulier, en wil dat bij een foutmelding de waardes van de velden behouden blijven.
Dit gebeurt momenteel niet, ik snap alleen niet waarom niet.

Dit is het volledige script

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
112
113
<?php
//////////////////////////////////////////////
// contact.php                                //
// page where everyone can contact us        //
//                                             //
//                                             //
// creation: 2008-05-03                         //
// last modified: 2008-05-04                 //
// created by: Stefan van Iwaarden           //
// last modified by: Stefan van Iwaarden     //
//////////////////////////////////////////////


if ($_SERVER['REQUEST_METHOD'] == "POST")
{

    if (!empty($_POST['naam']) && !empty($_POST['email']) && !empty($_POST['bericht']))
    {

        if (isset($_SESSION['userID']))
        {

            $userID    = $_SESSION['userID'];
        }

        else
        {
            $userID    = 0;
        }

    
        $query    = "INSERT INTO
                        tickets_berichten
                            (userID,
                            onderwerp,
                            naam,
                            email,
                            bericht,
                            status,
                            datum)
                        VALUES
                            ("
.$userID.",
                            "
.$_POST['onderwerp'].",
                            '"
.mysql_real_escape_string($_POST['naam'])."',
                            '"
.mysql_real_escape_string($_POST['email'])."',
                            '"
.mysql_real_escape_string($_POST['bericht'])."',
                            1,
                            NOW())"
;
        if ($result    = mysql_query($query) or die (mysql_error()))
        {

            echo 'Uw bericht is succesvol verstuurd!<br />';
            echo 'Wij streven ernaar binnen 12 uur een reactie te geven';
        }

        else
        {
            echo 'Er is een fout opgetreden bij het versturen van uw bericht, Mocht dit probleem zich blijven voordoen kunt u contact met de webmaster opnemen via [email protected]';
        }    
    }

    else
    {
        ?>
<meta http-equiv="refresh" content="0; url=?page=contact&action=error"><?php    
    }
}

else
{
?>

    <h2>Contact</h2>
    
    <form method="post">
    <table>
    <?php
    if (isset($_GET['action']) && $_GET['action'] == 'error')
    {

        echo '<tr><td colspan="2"><font color="red">Niet alle velden zijn ingevuld</font></td></tr>';
    }

    ?>

    <tr>
        <td><b>Naam</b></td>
        <td><input type="text" name="naam" value="<?php echo $_POST['naam']; ?>" size="30"></td>
    </tr>
    <tr>
        <td><b>E-mail</b></td>
        <td><input type="text" name="email" value="<?php echo $_POST['email']; ?>" size="30"></td>
    </tr>
    <tr>
        <td><b>Onderwerp</b></td>
        <td><select name="onderwerp">
        <?php
        $query
    = "SELECT * FROM tickets_onderwerpen ORDER BY rang ASC";
        $result    = mysql_query($query) or die (mysql_error());
        
        while ($row = mysql_fetch_array($result))
        {

            if ($row['id'] == $_POST['onderwerp'])
            {

                echo '<option value="'.$row['id'].'" selected>'.$row['onderwerp'].'</option>';
            }

            else
            {
                echo '<option value="'.$row['id'].'">'.$row['onderwerp'].'</option>';
            }
        }

        ?>

        </select></td>
    </tr>
    <tr>
        <td><b>Bericht</b></td>
    </tr>
    <tr>
        <td colspan="2"><textarea name="bericht" cols="40" rows="10"><?php echo $_POST['bericht']; ?></textarea></td>
    </tr>
    <tr>
        <td><input type="submit" name="submit" value="Versturen"></td>
    </tr>
    </table>
    </form>
<?php
}
?>
 
PHP hulp

PHP hulp

24/04/2024 21:36:29
 
L P

L P

05/05/2008 10:32:00
Quote Anchor link
laat maar
Gewijzigd op 01/01/1970 01:00:00 door L P
 
Jacco Engel

Jacco Engel

05/05/2008 10:34:00
Quote Anchor link
Agedeo:

Jij mag nooit maar dan ook NOOIT meer antwoord geven op een topic. Ik verbied het je.

Die echo klopt prima.

Probleem is dat je met je if statment alles afvangt. Als je de else om je formulier vandaan haalt dan zou je al meer resultaat moeten krijgen.

Edit:

NOOIT zeg ik je :P
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
 
L P

L P

05/05/2008 10:36:00
Quote Anchor link
Sorry hoor probeer alleen maar te helpen.
Samen komen we er wel uit. Heb hem toch goed opweg geholpen of niet dan
 
- wes  -

- wes -

05/05/2008 10:38:00
Quote Anchor link
in de omgekeerde wereld ja
 
Jacco Engel

Jacco Engel

05/05/2008 10:38:00
Quote Anchor link
Nee zelfs dat niet. Zijn methode is de goede en de 2 die jij aandraagt harstikke FOUT Je helpt hem :

a. Van de wal in de sloot.
b. van de regen in de drup.

Pick one
 
Joren de Wit

Joren de Wit

05/05/2008 10:39:00
Quote Anchor link
AgeDeO schreef op 05.05.2008 10:36:
Heb hem toch goed opweg geholpen of niet dan
Nee, dat heb je niet. Een variabele hoort nooit en te nimmer omsloten te worden door quotes, en al helemaal niet door accolades. Dat het werkt is een ander verhaal, maar het is zeker niet de bedoeling. Het is vragen om bugs in je applicatie en dat kunnen de meest nare bugs zijn om er weer uit te vissen. Nooit doen dus!
 
L P

L P

05/05/2008 10:41:00
Quote Anchor link
zo beter dan? ik zal het nooit meer doen :(
 
Jacco Engel

Jacco Engel

05/05/2008 10:43:00
Quote Anchor link
AgeDeO schreef op 05.05.2008 10:41:
zo beter dan? ik zal het nooit meer doen :(

(y)
 
Joren de Wit

Joren de Wit

05/05/2008 10:44:00
Quote Anchor link
AgeDeO schreef op 05.05.2008 10:41:
zo beter dan? ik zal het nooit meer doen :(
Beter dan een echt verkeerde oplossing. Het wordt gewaardeerd dat je mensen probeert te helpen, maar aan de oplossing die je aandroeg had de TS echt niets.

Maar goed, bekijk het van deze kant: je hebt nu zelf weer iets bijgeleerd ;-)
 
L P

L P

05/05/2008 10:48:00
Quote Anchor link
das waar, ik begrijp het ook wel hoor. maar ik dacht dat ik het goed had en dat bleek niet zo te zijn. Dus dan kan ik het beter weghalen. volgende keer beter. Kijk maar eens in het forum spellen bug. Daar doe ik het toch wel goed of niet dan :P
 
Jacco Engel

Jacco Engel

05/05/2008 10:52:00
Quote Anchor link
AgeDeO schreef op 05.05.2008 10:48:
das waar, ik begrijp het ook wel hoor. maar ik dacht dat ik het goed had en dat bleek niet zo te zijn. Dus dan kan ik het beter weghalen. volgende keer beter. Kijk maar eens in het forum spellen bug. Daar doe ik het toch wel goed of niet dan :P


Tot op zekere hoogte..... Persoonlijk ben ik niet zo van het voorkauwen maar dat is meer je eigen ding.

Verder is het belangrijk dat je leert van je fouten en ze niet meer (bewust) maakt. Vergissen is menselijk en ik denk dat iedereen zich nog wel eens het apezuur zoekt naar iets wat een verkeerd geplaatste { of iets dergelijks is (al doet E_ALL error_reporting hier ook wonderen :P)
 
Stefan van Iwaarden

Stefan van Iwaarden

05/05/2008 12:06:00
Quote Anchor link
de else rond het formulier weggehaald, maar dat is niet de oplossing.
 
Jacco Engel

Jacco Engel

05/05/2008 12:11:00
Quote Anchor link
maar dat is niet de oplossing.


Dat heb ik ook nooit gezegt ik zei dat je dan al iets meer zou krijgen

Quote:
Als je de else om je formulier vandaan haalt dan zou je al meer resultaat moeten krijgen.


En een fout is toch wel het minste dat ik verwacht
 
Erwin Nieuwenhuis

Erwin Nieuwenhuis

05/05/2008 12:18:00
Quote Anchor link
voorbeeldje:

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
<form method="post" action="#">
    <input type=text id="naam">
    <input type="submit" value="klik!"
</form>

<?php
    if($_SERVER['REQUEST_METHOD'] == 'POST')//deze if vangt alle geposte gegevens op
    {
        echo 'je hebt het formulier verzonden';
    }

    else
    {
        echo $_POST['naam'];//deze post kan dus nooit hier komen
    }
?>
Gewijzigd op 01/01/1970 01:00:00 door Erwin Nieuwenhuis
 
Stefan van Iwaarden

Stefan van Iwaarden

05/05/2008 19:26:00
Quote Anchor link
@jacco, er is geen fout, de velden blijven gewoon leeg.

@erwin, maar dan heb je je formulier dus in principe twee keer staan, in het verleden heb ik dit ook nooit hoeven doen dus waarom kan dat nu opeens niet meer?
 
Stefan van Iwaarden

Stefan van Iwaarden

05/05/2008 23:01:00
Quote Anchor link
Ik heb het nu opgelost door middel van een session, deze variabelen worden geleegd zodra het bhericht succesvol verstuurd is.
 



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.