Velden gevuld houden na foutmelding

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Willem L

Willem L

09/02/2012 15:29:08
Quote Anchor link
Ik ben bezig met een contact-formulier.
Ik laat controleren of er velden leeg zijn
dan wel fout gevuld(email).
Wanneer zo'n fout optreed, krijg ik een melding,
maar daarna zijn alle velden weer leeg.
Bestaat de mogelijkheid dat de juiste velden
gevuld blijven?
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?php
//include de connectie file

require_once('connection.php');

//save de data in de DB en zend een mail

if(isset($_POST['action']) && $_POST['action'] == 'submitform')
{

    //varibalen
    
    $name = $_POST['name'];
    $email = $_POST['email'];
    $url = $_POST['url'];
    $subject = $_POST['subject'];
    $comment = $_POST['comment'];
    $ip = gethostbyname($_SERVER['REMOTE_ADDR']);
    $vervuild   = FALSE; // TRUE als het formulier geen fouten bevat
    $melding    = "";    // String voor (fout)meldingen

    
    // Spaties en andere witruimte verwijderen uit de naam en het e-mailadres,
        // maar niet uit de tekst van het bericht:

        $name       = trim($name);
        $email = trim($email);
    
    if (strlen($name) < 1) {
            $melding  .= "Voer uw <strong>naam</strong> in. ";
            $vervuild  = TRUE;
        }


        if (strlen($email) < 1) {
            $melding  .= "Voer uw <strong>e-mailadres</strong> in. ";
            $vervuild  = TRUE;
        }
else {
            require_once('is_email.inc.php');
            if (!is_email($email)) {
                $melding  .= "<strong>" . htmlentities($email) . "</strong> is geen geldig e-mailadres. ";
                $vervuild  = TRUE;
            }
        }

    if (strlen($comment) < 10) {
            $melding  .= "Voer een <strong>tekst</strong> van minimaal <strong>10</strong> karakters  in. ";
            $vervuild  = TRUE;
        }

    
    if (!$vervuild) {
    //save de data in de DB
    mysql_select_db($database_connection, $connection);
    
    $insert_query = sprintf("INSERT INTO contacts (name, email, url, subject, comment, date, ip) VALUES (%s, %s, %s, %s, %s, NOW(), %s)",
                            sanitize($name, "text"),
                            sanitize($email, "text"),
                            sanitize($url, "text"),
                            sanitize($subject, "text"),
                            sanitize($comment, "text"),
                            sanitize($ip, "text"));
    
    $result = mysql_query($insert_query, $connection) or die(mysql_error());
    
    if($result)
    {

        //mail zenden        
        $to = "[email protected]";    
        //headers and subject
        $headers  = "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers .= "From: ".$name." <".$email.">\r\n";
        
        $body = "Melding<br />";
        $body .= "Naam: ".$name."<br />";
        $body .= "Email: ".$email."<br />";
        $body .= "Onderwerp: ".$subject."<br>";        
        $body .= "Bericht: ".$comment."<br />";
        $body .= "IP: ".$ip."<br />";
        
        mail($to, $subject, $body, $headers);
        //ok bericht        
        echo "Uw email is verzonden";
    }
}
}
function
sanitize($value, $type)
{

  $value = (!get_magic_quotes_gpc()) ? addslashes($value) : $value;

  switch ($type) {
    case
"text":
      $value = ($value != "") ? "'" . $value . "'" : "NULL";
      break;    
    case
"long":
    case
"int":
      $value = ($value != "") ? intval($value) : "NULL";
      break;
    case
"double":
      $value = ($value != "") ? "'" . doubleval($value) . "'" : "NULL";
      break;
    case
"date":
      $value = ($value != "") ? "'" . $value . "'" : "NULL";
      break;
  }

  
  return $value;
}



?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>
<body>
<p><?php echo $melding; ?></p>
<form id="contact" name="contact" action="contact.php" method="post">


<table border="0">
  
 <tr><td>Naam:</td><td>
 <input type="text" id="name" name="name" value="" maxlength="40">
 </td></tr>
 <tr><td>Email:</td><td>
 <input type="text" id="email" name="email" value="" maxlength="50">
 </td></tr>
 <tr><td>Website:</td><td>
 <input type="text" id="url" name="url" value="http://" maxlength="50">
 </td></tr>
 <tr><td>Onderwerp:</td><td>
 <input type="text" id="subject" name="subject" value="" maxlength="50">
 </td></tr>
 <tr><td>Bericht:  </td><td>
 <textarea id="comment" name="comment" cols="45" rows="10"></textarea>
 </td></tr>
 <tr><td colspan="2" align="right">
 <input type="hidden" id="action" name="action" value="submitform" />

<p><input type="submit" id="submit" name="submit" value="Verzenden" />
<input type="reset" id="reset" name="reset" value="Wissen" /></p>
 </td></tr>
 </table>


</form>

</body>
</html>

[/CODE]
 
PHP hulp

PHP hulp

22/12/2024 17:45:58
 
Frank WD

Frank WD

09/02/2012 15:33:10
Quote Anchor link
Je kan het volgende in je value zetten van je input.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$_POST['subject'];


Regel 12 tot 17 lijkt me overbodige je kunt deze beter aanroepen zoals het hoort. Variabellen dus niet overbodig kopieéren.
Gewijzigd op 09/02/2012 15:33:32 door Frank WD
 
Willem L

Willem L

09/02/2012 15:41:35
Quote Anchor link
Thanx, zal 'm aanpassen. Heb deze eindelijk werkend tot bepaalde hoogte.
Ben nu bezig met checken van de velden.
Gewijzigd op 09/02/2012 15:42:51 door Willem L
 
Roel -

Roel -

09/02/2012 15:43:00
Quote Anchor link
Dus niet klakkeloos zoals Frank van Sloten zegt, maar wel op een veilige manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
...value="<?php echo (isset($_POST['subject']) ? htmlspecialchars($_POST['subject']) : ''); ?>"...
 
Willem L

Willem L

09/02/2012 17:10:43
Quote Anchor link
@Roel
Da's mooi. Alleen nadat de mail gecheckt is en verzonden is moeten de velden weer geleegd worden.
 
Erwin H

Erwin H

09/02/2012 17:14:43
Quote Anchor link
Da's toch niet zo moeilijk. Of je unset de $_POST variabelen nadat de mail verstuurd is. Of je gebruikt een simpele boolean om te bepalen of de mail verstuurd is.
Dus aan het begin zet je "$verzonden = false;". Daarna als de mail succesvol is verzonden "$verzonden = true;" en bij het printen van de inputs check je wat de waarde is van $verzonden.
Gewijzigd op 09/02/2012 17:15:03 door Erwin H
 



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.