textarea waarde behouden na verzenden formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Linda Overkleeft

Linda Overkleeft

15/04/2011 17:41:41
Quote Anchor link
HOe kan ik ervoor zorgen dat de waarde van de textarea in een formulier behouden blijft na verzenden/foutmelding. Zoals ik het nu heb gedaan, wordt het veld elke keer geleegd.
 
PHP hulp

PHP hulp

28/01/2022 12:02:54
 
Tobias Tobias

Tobias Tobias

15/04/2011 17:44:36
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<textarea><?php echo $_POST['bericht']; ?></textarea>
 

15/04/2011 17:44:58
Quote Anchor link
Moet je weer terugplaatsen. Let op htmlentities / htmlspecialchars gebruiken.
 
Linda Overkleeft

Linda Overkleeft

15/04/2011 17:54:07
Quote Anchor link
<textarea>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_POST['bericht']; ?>
</textarea>

Dit werkt niet, dan is de waarde weg na verzenden of foutmelding
 
Wesley PHP

Wesley PHP

15/04/2011 17:59:46
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<textarea name='bericht'><?php echo $_POST['bericht']; ?></textarea>
 
- SanThe -

- SanThe -

15/04/2011 17:59:57
Quote Anchor link
Je krijgt na het verzenden toch niet hetzelfde formulier te zien. Leg eens wat duidelijker uit wat je nou wilt bereiken.
 
Wesley PHP

Wesley PHP

15/04/2011 18:04:08
Quote Anchor link
- SanThe - op 15/04/2011 17:59:57:
Je krijgt na het verzenden toch niet hetzelfde formulier te zien. Leg eens wat duidelijker uit wat je nou wilt bereiken.


Waarschijnlijk wil ze dat als iemand een vak van het formulier niet invult, dat je dan een foutmelding krijgt.
En dat je dan de vakken die wel ingevuld waren niet opnieuw hoeft in te vullen.
 
Tobias Tobias

Tobias Tobias

15/04/2011 18:10:42
Quote Anchor link
Mijn normale structuur bij bv een contactformulier:

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
<?php
if(formulier is verstuurd){
    
    //Foutcontrole
        
    if(geen fouten){
        // verstuur resultaten en redirect naar een 'gelukt'-pagina
    }

    else{
        // echo de foutmeldingen
    }

}


?>

-- Contactformulier --

In het contactforumier dan bij iedere input kijken of er al een $_POST-warde is en deze als value meegeven
 

15/04/2011 18:51:24
Quote Anchor link
Karl Karl op 15/04/2011 17:44:58:
Moet je weer terugplaatsen. Let op htmlentities / htmlspecialchars gebruiken.


LEZEN!
 
Linda Overkleeft

Linda Overkleeft

15/04/2011 19:53:43
Quote Anchor link
Onderstaand mijn contactformulier! Als ik dus een foutmelding krijg, is de waarde van de textarea weer weg en dat wil ik niet. Andere reacties over het formulier van deze beginnende php'er zijn ook welkom.

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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
session_start();
$cfg['CAPTCHA'] = TRUE;                    // CAPTCHA ( TRUE voor aan, FALSE voor uit )
$cfg['text'] = TRUE;                    // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['input'] = TRUE;                    // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )

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

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

     $naam= $_POST['naam'];
$email= $_POST['email'];
$onderwerp=$_POST['onderwerp'];
$boodschap=$_POST['boodschap'];
    
      
        
 if($cfg['CAPTCHA'])
        {

            $code = $_POST['code'];
        }
  
        
        
 if(empty($naam) || (strlen($naam) < 3))
          echo "Vul een correcte naam in<br>";

         if(!preg_match("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$^", $email))
          echo "Vul een correct e-mailadres in<br>";
 
           if(empty($onderwerp) || (strlen($onderwerp) < 3))
          echo "Vul een onderwerp in<br>";

           if(empty($boodschap) || (strlen($boodschap) < 6))
          echo "Vul een boodschap in";

if($cfg['CAPTCHA'])
        {

            if(strtoupper($code) != $_SESSION['captcha_code'])
            {

                $aFout[] = "Er is geen correcte code ingevuld.";
                $fout['text']['code'] = TRUE;
                $fout['input']['code'] = TRUE;
            }
        }

        
         if(!$cfg['text'])
        {

            unset($fout['text']);
        }

        if(!$cfg['input'])
        {

            unset($fout['input']);
        }

        if(!empty( $aFout ))
        {

            $errors = '<center><ul>';
            foreach($aFout as $sFout)
            {

                $errors .= "<li>".$sFout."</li>\n";//.= stringoperator, samenvoegen en toewijzen
            }
            $errors .= "</ul></center>";
     }


        else
            {
                $naam       = trim($naam);
                $email      = trim($email);
                $onderwerp     = trim($onderwerp);
                $boodschap  = trim($boodschap);
                $formsent   = mail('email@email.nl',
                'Contactformulier',
                "Contactformulier verzonden door: $naam\n
                email: $email\n
                onderwerp: $onderwerp\n
                boodschap: $boodschap\n"
,
                "From: $email\nBounce-to: email@email.nl");


                     if ($formsent)
                      echo "<P>Hoi, $naam.<p>  Het contactformulier is verzonden. Ik zal zo snel mogelijk contact met je opnemen!";
  
                    else  
                      echo 'Helaas, het verzenden van het contactformulier is niet goed gegaan. <br>Mail naar of probeer het later nog eens.';    
            }
    }
}

?>
  


<FORM METHOD= "post" action="<?php echo  $_SERVER['PHP_SELF'] ?>">
  <table align="center">
      <tr><td colspan="2"><?php if(isset($errors)) {echo $errors;} ?></td></tr>
    <tr>
          <td> Naam: </td>
          <td> <input type="text" size=30 name="naam" value="<?php if (isset($_POST['naam'])) echo $naam; ?>" /></td>
      </tr>
      <tr>
          <td> E-mailadres:</td>
          <td><input type="text" size=30 name="email" value="<?php if (isset($_POST['email'])) echo $email; ?>" /></td>
      </tr>
      <tr>
          <td> Onderwerp:</td>
          <td><input type="text" size=30 name="onderwerp" value="<?php if (isset($_POST['onderwerp'])) echo $onderwerp; ?>"/></td>
      </tr>
      <tr>
          <td> Boodschap:</td>
          <td><textarea NAME="boodschap" ROWS=6 COLS=50 <?php if (isset($_POST['boodschap'])) echo htmlentities ($boodschap); ?>></textarea></td>
      </tr>
      <tr>
          <td> <?php
        if($cfg['CAPTCHA'])
        {

        ?>

        <img src="captcha.php" />        
         <?php if(isset($fout['text']['code'])) { 'class="fout"'; } ?>&nbsp;Code:
        <input type="text" id="code" name="code" maxlength="6" size="6" <?php if(isset($fout['input']['code'])) { 'class="captcha fout"'; } ?> /></td></tr>
        <tr><td>&nbsp;</td>
        <td>
        <?php
        }
        ?>
&nbsp;</td>
          <td> <input type="submit" name="Submit" value="verzenden" /></td>
      </tr>
  </table>
</form>
</body>
</html>

    
 
Pim B

Pim B

16/04/2011 00:53:43
Quote Anchor link
Je hebt 1 ">" fout staan.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<textarea NAME="boodschap" ROWS=6 COLS=50
<?php if (isset($_POST['boodschap'])) echo htmlentities ($boodschap); ?>
> // deze dus - waar die moet staan, mag je zelf uitzoeken
</textarea>
Gewijzigd op 16/04/2011 00:56:09 door Pim B
 



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.