controleren of emailadres in de database voorkomt.
Ik wil heel graag een scriptje waarbij bij registratie van een user wordt gecontroleerd of zijn/haar e-mailadres bij mij bekend is. Dan alleen krijgt de user toegang tot bepaald pagina's op de site.
Ter verduidelijking. een cursist schrijft zich in. e-mail adres komt daardoor in mijn database. Nu wil hij of zij een bepaalde pagina's op de site bekijken maar moet zich dan kenbaar maken of te wel inloggen met het e-mailadres. Bij inloggen moet gekeken worden of wij het e-mailadres kennen.
Ik hoop als leek op een beetje duidelijke uitleg.
Alvast dank
Hugo
Vervolgens kan je bij het registreren controleren of het INSERT-query die alle gegevens van de cursist opslaat controleren of die query wel lukt. Lukt hij niet, dan is er iets mis. Met mysql_errno en deze tabel kan je zien wat de fout is (je kan ook even snel proberen om 2x hetzelfde e-mailadres toe te voegen en kijken welke errorcode je krijgt. ik denk 1022)
groet
Hugo
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Connect script van jou.
include('dbconnect.php');
// Wel even voor anti sql injection zorgen.
$email = $_POST['email'];
$query = mysql_query("SELECT * FROM emails WHERE email = '$email'");
if(mysql_num_rows($query) == 0)
{
// Email is niet bekend.
}
else
{
// Doorsturen.
}
?>
// Connect script van jou.
include('dbconnect.php');
// Wel even voor anti sql injection zorgen.
$email = $_POST['email'];
$query = mysql_query("SELECT * FROM emails WHERE email = '$email'");
if(mysql_num_rows($query) == 0)
{
// Email is niet bekend.
}
else
{
// Doorsturen.
}
?>
Zoiets?
Gewijzigd op 09/09/2010 14:31:38 door - Dave -
Je kunt gewoon een query maken:
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
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
<?php
$aQuery =
"
SELECT
email
FROM
email
WHERE
email = '" .mysql_real_escape_string( // $_POST variabele? of $_GET etc..). "'
";
// Query uitvoeren
$result = mysql_query($aQuery);
if( !$result ) {
// Error etc..
}
else {
// Kijken of er resultaat is
if( mysql_num_rows( $result ) == 0) {
// Geen resultaat gevonden
}
else {
// Wel resultaat gevonden
}
}
?>
$aQuery =
"
SELECT
FROM
WHERE
email = '" .mysql_real_escape_string( // $_POST variabele? of $_GET etc..). "'
";
// Query uitvoeren
$result = mysql_query($aQuery);
if( !$result ) {
// Error etc..
}
else {
// Kijken of er resultaat is
if( mysql_num_rows( $result ) == 0) {
// Geen resultaat gevonden
}
else {
// Wel resultaat gevonden
}
}
?>
Of bedoel je dat niet?
EDIT:
@Dave
- Variabelen uit quotes
- Fouten afhandeling
- SQL injection
Verder kan je gewoon je $_POST in de query stoppen. Hoef je eerst geen aparte variabele voor aan te maken
Gewijzigd op 09/09/2010 14:33:04 door Niels K
Hoeft niet. Kan wel en het staat duidelijker als hij meerdere post data doorgestuurd krijgt.
Anders ben je onnodig veel code aan het genereren voor niets..