Email controleren toevoegen aan inlog

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dave

Dave

11/10/2004 19:07:00
Quote Anchor link
Goedendag,

Ik heb een tutorial gevolgt voor het maken van een inlog systeem, http://www.phphulp.nl/php/tutorials/2/167/ om precies te zijn. Het enige wat ik er graag bij zou willen is een email controle. Ik heb dus dit geprobeert.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
include("data.inc");
$global_dbh = mysql_connect($hostname, $username, $password);
mysql_select_db($db, $global_dbh);
?>

<html>
<head>
<title>Registreren</title>
<style type="text/css">
<!--
table { border-style: solid;
border-width: 2px 2px;
border-color: #8182FE;
width: 100%;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 75%;
border-collapse: collapse;
}
th { background-color: #BFBFFF;
padding: 5px 5px 5px 5px;
color: #FFFFFF;
width: 50%;
text-align: center;
}
td { background-color: #E3E3FF;
padding: 5px 30px 5px 10px;;
width: 50%;
}
A:link { color: red;
text-decoration: none;
}
A:visited { color: red;
text-decoration: none;
}
A:hover { color: red;
text-decoration: underline;
}
A:active { color: red;
text-decoration: underline;
}
.help { font-size: 75%;
color: #000000;
font-weight: normal;
}
td.error { color: red;
text-align: center;
font-size: 12;
font-weight: bold;
background-color: #FEFD9A;
}

-->
</style>
</head>
<body>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

// *********************** Stage 1 **********************

if(!IsSet($_POST['stage']))
{

?>


<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print($PHP_SELF); ?>
">
<table>
<tr>
<th colspan="2">REGISTREREN</th>
</tr>
<tr>
<td align="right">Gebruikersnaam</td>
<td><input type="text" name="gebruikersnaam" size="20" maxlength="30" />
</tr>
<tr>
<td align="right">Wachtwoord</td>
<td><input type="password" name="wachtwoord" size="20" maxlength="30" /></td>
</tr>
<tr>
<td align="right">E-mailadres</td>
<td><input type="text" name="email" size="40" maxlength="50" /></td>
<tr>
<th colspan="2"><input type="hidden" name="stage" value="2" />
<input type="submit" value="Registreren" /></th>
</tr>
</table>
</form>

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
<?php
    }

function
check_email($mail)
    {

        if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
        {

            $email_adres = $mail;  
            $email = explode("@", $email_adres);
            
            if (gethostbyname($email[1]) == $email[1])  
                 $valid = "no";
        }

        else
            $valid = "no";
              
        return $valid;
    }


// *********************** Stage 2 ***************************

elseif($_POST['stage'] == 2)
    {


//        ****************** Alle velden zijn ingevuld *********************

    if ($_POST["submit"] && $_POST["login"] && $_POST["pass"] && $_post["email"] && !check_email($_POST["email"]))
    {

    $query_1 = "SELECT * FROM members WHERE Gebruikersnaam = '$_POST[gebruikersnaam]'";
    $result_id_1 = mysql_query($query_1) or die(mysql_error($query_1));
    $row = mysql_num_rows($result_id_1);

//                ************************** Nog niet gebruikte gebruikersnaam ********************

    if($row == 0)
    {

    $query_2 = "INSERT INTO members (Gebruikersnaam, Wachtwoord, Email) values ('$_POST[gebruikersnaam]', '$_POST[wachtwoord]', '$_POST[email]')";
    $result_id_2 = mysql_query($query_2) or die(mysql_query($query_2));
    $mailsend = mail($_POST[email], "Uw registratiegegevens bij $site_name", "Hallo $_POST[gebruikersnaam]!\n\nBedankt dat u geregistreerd hebt bij ons!\n\nUw gebruikersnaam: $_POST[gebruikersnaam]\nUw wachtwoord: $_POST[wachtwoord]\n\n\nDe webmaster");
?>


<table>
<tr>
<td class="error">

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if($mailsend && $result_id_2)
    {

    print("Uw gegevens zijn opgeslagen in onze database en er is naar u een e-mail verzonden met deze gegevens. U kunt nu inloggen!");
    }

else
    {
    print("Gegevens opslaan of e-mail verzenden is mislukt. Probeer het later opnieuw!");
    }

?>


</td>
</tr>
</table>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
include("login.php");
    }

//                ***************************** Al gebruikte gebruikersnaam *********************
    
    else
        {
        ?>


<table>
<tr>
<td class="error">Deze gebruikersnaam is reeds in gebruik. Probeer een andere!</error></td>
</tr>
</table>
<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print($PHP_SELF); ?>
">
<table>
<tr>
<th colspan="2">REGISTREREN</th>
</tr>
<tr>
<td align="right">Gebruikersnaam</td>
<td><input type="text" name="gebruikersnaam" size="20" maxlength="30" />
</tr>
<tr>
<td align="right">Wachtwoord</td>
<td><input type="password" name="wachtwoord" size="20" maxlength="30" /></td>
</tr>
<tr>
<td align="right">E-mailadres</td>
<td><input type="text" name="email" size="40" maxlength="50" /></td>
<tr>
<th colspan="2"><input type="hidden" name="stage" value="2" />
<input type="submit" value="Registreren" /></th>
</tr>
</table>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
        }
    }


//        ******************* Niet alle velden zijn ingevuld **********************

else
{
?>

<table>
<tr>
<td class="error">U moet alle velden invullen!</error></td>
</tr>
</table>
<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php print($PHP_SELF); ?>
">
<table>
<tr>
<th colspan="2">REGISTREREN</th>
</tr>
<tr>
<td align="right">Gebruikersnaam</td>
<td><input type="text" name="gebruikersnaam" size="20" maxlength="30" />
</tr>
<tr>
<td align="right">Wachtwoord</td>
<td><input type="password" name="wachtwoord" size="20" maxlength="30" /></td>
</tr>
<tr>
<td align="right">E-mailadres</td>
<td><input type="text" name="email" size="40" maxlength="50" /></td>
<tr>
<th colspan="2"><input type="hidden" name="stage" value="2" />
<input type="submit" value="Registreren" /></th>
</tr>
</table>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php    
    }
}

?>


</body>
</html>

Het probleem is dat ook als ik alles goed in vul er steeds de fout melding: Uw gegevens zijn opgeslagen in onze database en er is naar u een e-mail verzonden met deze gegevens. U kunt nu inloggen! komt. Ik kan zelf zo niet zien wat er fout is omdat ik nog maar net met PHP begonnen ben. Alle hulp is makkelijk. Alvast bedankt en greetz Dave
 
PHP hulp

PHP hulp

23/11/2024 21:10:28
 
Alfred -

Alfred -

11/10/2004 19:42:00
Quote Anchor link
Quote:
[2] Copieer de relevante stukken code. Dit betekend niet je hele script. Verwacht niet dat mensen 200 regels code gaan nakijken op fouten. Dat mag je zelf doen.


Bron: Adje's Slimme Vragen Stellen Tutorial
 
Web Smile

Web Smile

11/10/2004 20:13:00
Quote Anchor link
Quote:
probleem is dat ook als ik alles goed in vul er steeds de fout melding: Uw gegevens zijn opgeslagen in onze database en er is naar u een e-mail verzonden met deze gegevens. U kunt nu inloggen! komt.


Dat is toch de bedoeling??
 
Dave

Dave

11/10/2004 21:30:00
Quote Anchor link
ja dat is de bedoeling maar er wordt ook nix verstuurd hij blijf zo ver ik het zie in een loop rondjes draaien.

en speciaal voor Rafael het stuk code

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
<?php  
    }  

function
check_email($mail)  
    {
  
        if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))  
        {
  
            $email_adres = $mail;  
            $email = explode("@", $email_adres);  
              
            if (gethostbyname($email[1]) == $email[1])  
                 $valid = "no";  
        }
  
        else  
            $valid = "no";  
              
        return $valid;  
    }
  

// *********************** Stage 2 ***************************

elseif($_POST['stage'] == 2)  
    {
  

//        ****************** Alle velden zijn ingevuld *********************

    if ($_POST["submit"] && $_POST["login"] && $_POST["pass"] && $_post["email"] && !check_email($_POST["email"]))
    {
  
    $query_1 = "SELECT * FROM members WHERE Gebruikersnaam = '$_POST[gebruikersnaam]'";  
    $result_id_1 = mysql_query($query_1) or die(mysql_error($query_1));  
    $row = mysql_num_rows($result_id_1);  

//                ************************** Nog niet gebruikte gebruikersnaam ********************

    if($row == 0)  
    {
  
    $query_2 = "INSERT INTO members (Gebruikersnaam, Wachtwoord, Email) values ('$_POST[gebruikersnaam]', '$_POST[wachtwoord]', '$_POST[email]')";  
    $result_id_2 = mysql_query($query_2) or die(mysql_query($query_2));  
    $mailsend = mail($_POST[email], "Uw registratiegegevens bij $site_name", "Hallo $_POST[gebruikersnaam]!\n\nBedankt dat u geregistreerd hebt bij ons!\n\nUw gebruikersnaam: $_POST[gebruikersnaam]\nUw wachtwoord: $_POST[wachtwoord]\n\n\nDe webmaster");  
?>


er zou dus daaro ergens een fout moeten zitten.
 
Alfred -

Alfred -

11/10/2004 21:37:00
Quote Anchor link
EDIT: Zever :-/
Gewijzigd op 11/10/2004 22:32:00 door Alfred -
 
Dave

Dave

11/10/2004 22:13:00
Quote Anchor link
enige manier om dit op te lossen ben nog niet egt een expert...
 
Mitch X

Mitch X

11/10/2004 22:18:00
Quote Anchor link
Rafael:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$mailsend
= mail($_POST[email], "Uw registratiegegevens bij $site_name", "Hallo $_POST[gebruikersnaam]!\n\nBedankt dat u geregistreerd hebt bij ons!\n\nUw gebruikersnaam: $_POST[gebruikersnaam]\nUw wachtwoord: $_POST[wachtwoord]\n\n\nDe webmaster");  
?>


Je set de var wel, maar laat deze niet uitvoeren... ?
Maw je stelt het op, maar steekt het in een var, ipv de mail te laten verzenden...


Nix fout aan rafael ...
Denk aan $res = mysql_query($sql); wordt toch ook uitgevoerd?
 
Alfred -

Alfred -

11/10/2004 22:32:00
Quote Anchor link
Quote:
Nix fout aan rafael ...
Denk aan $res = mysql_query($sql); wordt toch ook uitgevoerd?


Oké dan :-/ Mijn fout... :-/ Sorry voor de verkeerde melding...

Quote:
Example 1. Sending mail.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mail("[email protected]", "My Subject", "Line 1\nLine 2\nLine 3");
?>


Nevermind mijn zever... 't is precies mijn dag niet ...

[ZEVER]
Is de volgorde niet:
Naam -> email -> onderwerp -> bericht -> afzender naam -> afzender email?

afzender naam & email zijn blanco, dat kan nog, maar indit geval wordt zijn emailadres niet ingegeven, zijn email wordt ingevoerd als naam, onderwerp als emailadres, bericht als onderwerp... maw mail kan niet aankomen...

Sorry als ik (weer) verkeerd zit :/
[/ZEVER]
Gewijzigd op 11/10/2004 22:45:00 door Alfred -
 



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.