Email veld in mysql
ik ben op zoek hoe ik een veld kan maken in php/mysql waar ik vraag om een email adres, en dan wanneer er geen geldig email adres in staat (bijv zonder @) hij een fout geeft en niet doorgaat
hoe moet ik dit doen?
hier een simpel voorveeld
Ps. Met triggers, stored procedures en een regulair expression (kan dat in MySQL?) zou het ook moeten lukken, maar dat is erg omslachtig. Een domain of check-constraint is vele malen handiger. Maar ja, MySQL...
db_toevoegen.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<h2>Contact toevoegen</h2>
<table>
<form method="post" action="toevoegen.php">
<tr><td>Datum van invoer: <td><input type="text" name="datum" value="<?php echo(date("Y-m-d"));?>"><br>
<tr><td>Voornaam: <td><input type="text" name="voornaam"><br>
<tr><td>Achternaam: <td><input type="text" name="achternaam"><br>
<tr><td>Adres: <td><input type="text" name="adres"><br>
<tr><td>Woonplaats: <td><input type="text" name="woonplaats"><br>
<tr><td>Telefoon: <td><input type="int" name="telefoon"><br>
<tr><td>E-mail: <td><input type="text" name="email"><br>
</table>
<input type="submit" value="Toevoegen"> <input type="reset" value="Opnieuw beginnen"><br>
</form>
<hr>
<a href="index.php">Terug naar Startpagina</a>
</html>
<h2>Contact toevoegen</h2>
<table>
<form method="post" action="toevoegen.php">
<tr><td>Datum van invoer: <td><input type="text" name="datum" value="<?php echo(date("Y-m-d"));?>"><br>
<tr><td>Voornaam: <td><input type="text" name="voornaam"><br>
<tr><td>Achternaam: <td><input type="text" name="achternaam"><br>
<tr><td>Adres: <td><input type="text" name="adres"><br>
<tr><td>Woonplaats: <td><input type="text" name="woonplaats"><br>
<tr><td>Telefoon: <td><input type="int" name="telefoon"><br>
<tr><td>E-mail: <td><input type="text" name="email"><br>
</table>
<input type="submit" value="Toevoegen"> <input type="reset" value="Opnieuw beginnen"><br>
</form>
<hr>
<a href="index.php">Terug naar Startpagina</a>
</html>
Toevoegen.php
Code (php)
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
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
<?php
/**
* @author Stefan en jasper
* @copyright 2008
*/
include("connect.php");
if (empty($_POST)){
echo("Vul eertst <a href=\"db_toevoegen.php\"> Contact toevoegen</a> in");
exit();
}else{
$query="INSERT INTO contacten (datum, voornaam, achternaam, adres, woonplaats, telefoon, email)";
$query .="VALUES ('";
$query .= $_POST["datum"] ."', '" ;
$query .= $_POST["voornaam"] ."', '" ;
$query .= $_POST["achternaam"] ."', '" ;
$query .= $_POST["adres"] ."', '" ;
$query .= $_POST["woonplaats"] ."', '" ;
$query .= $_POST["telefoon"] ."', '" ;
$query .= $_POST["email"] ."');" ;
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
}
?>
<html>
<head>
<title>Contact invoegen</title>
</head>
<body>
<?php
echo("Query die wordt uitgevoerd: <b>$query</b>\n");
echo("De volgende gegevens zijn ingevoegd:<br>\n");
echo("Datum van invoer: <br>". $_POST["datum"] . "</b><br>");
echo("Voornaam: <br>". $_POST["voornaam"] . "</b><br>");
echo("Achternaam: <br>". $_POST["achternaam"] . "</b><br>");
echo("Adres: <br>". $_POST["adres"] . "</b><br>");
echo("Telefoon: <br>". $_POST["telefoon"] . "</b><br>");
echo("E-Mail: <br>". $_POST["email"] . "</b><br>");
echo("<hr><a href=\"db_toevoegen.php\">Nog een contact toevoegen</a>
| <a href=\"database.php\">Overzicht van alle contacten</a>");
?>
</body>
</html>
/**
* @author Stefan en jasper
* @copyright 2008
*/
include("connect.php");
if (empty($_POST)){
echo("Vul eertst <a href=\"db_toevoegen.php\"> Contact toevoegen</a> in");
exit();
}else{
$query="INSERT INTO contacten (datum, voornaam, achternaam, adres, woonplaats, telefoon, email)";
$query .="VALUES ('";
$query .= $_POST["datum"] ."', '" ;
$query .= $_POST["voornaam"] ."', '" ;
$query .= $_POST["achternaam"] ."', '" ;
$query .= $_POST["adres"] ."', '" ;
$query .= $_POST["woonplaats"] ."', '" ;
$query .= $_POST["telefoon"] ."', '" ;
$query .= $_POST["email"] ."');" ;
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
}
?>
<html>
<head>
<title>Contact invoegen</title>
</head>
<body>
<?php
echo("Query die wordt uitgevoerd: <b>$query</b>\n");
echo("De volgende gegevens zijn ingevoegd:<br>\n");
echo("Datum van invoer: <br>". $_POST["datum"] . "</b><br>");
echo("Voornaam: <br>". $_POST["voornaam"] . "</b><br>");
echo("Achternaam: <br>". $_POST["achternaam"] . "</b><br>");
echo("Adres: <br>". $_POST["adres"] . "</b><br>");
echo("Telefoon: <br>". $_POST["telefoon"] . "</b><br>");
echo("E-Mail: <br>". $_POST["email"] . "</b><br>");
echo("<hr><a href=\"db_toevoegen.php\">Nog een contact toevoegen</a>
| <a href=\"database.php\">Overzicht van alle contacten</a>");
?>
</body>
</html>
ik weet niet zo goed waar ik dat moet in zetten
Gewijzigd op 01/01/1970 01:00:00 door stefan lenders
Kortom, ga eerst maar eens alle controles e.d. inbouwen.
Ps. De geldigheid van een datum kun je met checkdate() vaststellen. MySQL controleert dat normaal gesproken niet... Dat is dan ook nauwelijks een database te noemen.
Edit: Zie ook deze tutorial
Gewijzigd op 01/01/1970 01:00:00 door Frank -
ik heb er weinig verstand van dus :( snap er nix van. ik heb dit script zo uit een boek aan gepast aan mijn database
We vertouwen helemaal niks!
2) defineer...
Dus standaard is iets NULL, bestaat wel, maar is niks...
Scheelt je heel veel errors gezien NULL well bestaat maar bijvoorbeeld !isset();
3) controleer....
Wat verwacht je? string? nummer? decimaal? text? e-mail adres? link? etc...
controleer de inhoud van een veld daarop...
Zo niet dan blijft het NULL anders kunnen we het gebruiken...
@see eerdere link!
NOTE:
Tijd voor een php-formulier 101 tutorial?