Jump to content

PHP login and registration formulier with a html index


yasminlove1

Recommended Posts

this is mij script from registrate, it has more scripts like login and log out, activation, controlepanel..and something in index.

 

this is registrate but i don`t know what i must with password and email:

 

 

<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

if($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Hier komt alle behandeling van het formulier
     
    // Mocht er een fout optreden, is het leuk dat de gebruiker niet alles opnieuw hoeft
    // in te vullen. Daarom vullen we de array $post met de velden,
    // uiteraard door htmlentities() gehaald (veiligheidsmaatregel).
    // Wachtwoord moeten wel opnieuw ingevuld worden, nogmaals veiligheidsmaatsregel
    $post = array(
                'gebruikersnaam'    => htmlentities($_POST['Gebruikersnaam']),
                'email'                => htmlentities($_POST['Email']));
     

 

    // Verwerking
     
    // Eerst enkele functies schrijven die de controle vergemakkelijken
    function geregistreerd($zoek, $veld) {
        // Ik plaats de query op meerdere lijnen voor de leesbaarheid
        $qZoek = mysql_query("
            SELECT COUNT(".$veld.")
                      FROM gebruikers
                   WHERE ".$veld." = '".mysql_real_escape_string($zoek)."'");
                    
        // Als de gebruikersnaam nog niet bestaat, geeft dit false, anders true
        return (mysql_result($qZoek,0) == 0 ? false : true);
    }
     
    // De reguliere expressies voor de controle op e-mailadressen is door FangorN samengesteld :]
    function is_email($in) {
        list($local, $host) = explode('@', $in);
        $pattern_local = '^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.'
                       . '([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$';  
        $pattern_host = '^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)'
                      . '[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$';  
        $match_local   = eregi($pattern_local, $local);
        $match_host    = eregi($pattern_host, $host);
         
        return ($match_local && $match_host ? true : false);
    }
     
    // Hier zullen we de fouten in opslaan

function fouten($fout){
if (!empty($fout))
   {  
    $i = 0;
     while ($i < count($fout)){
          echo "<p><span class='fout'>".$fout[$i]."</span></p>";
          $i++;}
}
}


if ($_SERVER['REQUEST_METHOD']=="POST")
{
    
$Gebruikersnaam = trim($_POST['Gebruikersnaam']);    
    
if (strlen($Gebruikersnaam) < 3) {
 $fout[] = 'Gebruikersnaam moet minimaal 3 karakters bevatten.';
}

if (strlen($Gebruikersnaam) >30) {
    $fout[] = 'Gebruikersnaam moet maximaal 30 karakters bevatten.';
}     

if (!get_magic_quotes_gpc()) {
    $_POST[] = addslashes($_POST['Gebruikersnaam']);
}

$ControleerGebruiker = $_POST['Gebruikersnaam'];
$Controleer = mysql_query("SELECT gebruikersnaam FROM gebruikers WHERE gerbuikersnaam='$ControleerGebruiker'")or die (mysql_error());
$Controleer2 = mysql_num_rows($Controleer);

if ($Controleer2 != 0) {
    $fout[] = "Sorry, de gebruikersnaam <strong>'.$_POST['Gebruikersnaam'].'</strong> is al in gebruik.";
}

if (!$fout ) {
    
$Gebruikersnaam = mysql_real_escape_string($Gebruikersnaam);
$Gebruikersnaam = strip_tags($Gebruikersnaam);
}



$Stalnaam = trim($_POST['Stalnaam']);

if (strlen($Stalnaam) <3) {
    $fout[] = 'Stalnaam moet minimaal 3 karakters bevatten.';
}

if(strlen($Stalnaam) >40) {
    $fout[] = 'Stalnaam moet maximaal 40 karakters bevatten.';
}

if(!get_magic_quotes_gpc()) {
    $_POST[] addslashes($_POST['Stalnaam']);
}

$ControleerStalnaam = $_POST['Stalnaam'];
$Controleer = mysql_query("SELECT stalnaam FROM stalnamen WHERE stalnaam='$ControleerStalnaam'")or die (mysql_error());
$Controleer2 = mysql_num_rows($Controleer);

if ($Controleer2 != 0) {
    $fout[] = "Sorry, de stalnaam <strong>'.$_POST['Stalnaam'].'</strong> is al in gebruik.";
}

if (!$fout ) {
 
$Stalnaam = mysql_real_escape_string($Stalnaam);
$Stalnaam = strip_tags($Stalnaam);     
}



$Naampaard = trim($_POST['Naampaard']);

if (strlen($Naampaard) <1) {
    $fout[] = 'Naam paard moet minimaal 1 karakter bevatten.';
}

if(strlen($Naampaard) >35) {
    $fout[] = 'Naam paard moet maximaal 35 karakters bevatten.';
}

if(!get_magic_quotes_gpc()) {
    $_POST[] addslashes($_POST['Naampaard']);
}

$ControleerNaampaard = $_POST['Naampaard'];
$Controleer = mysql_query("SELECT naampaard FROM naampaarden WHERE naampaard='$ControleerNaampaard'")or die (mysql_error());

if (!fout ) {
    
$Naampaard = mysql_real_escape_string($Naampaard);
$Naampaard = strip_tags($Naampaard);
}




$Ras = trim($_POST['Ras']);

if (strlen($Ras) <2) {
    $fout[] = 'Ras moet minimaal 2 karakters bevatten.';
}

if(strlen($Ras) >40) {
    $fout[] = 'Ras moet maximaal 40 karakters bevatten.';
}

if(!get_magic_quotes_gpc()) {
    $_POST[] addslashes($_POST['Ras']);
}

$ControleerRas = $_POST['Ras'];
$Controleer = mysql_query("SELECT ras FROM rassen WHERE ras='$ControleerRas'")or die (mysql_error());

if (!fout ) {
    
$Ras = mysql_real_escape_string($Ras);
$Ras = strip_tags($Ras);
}





$Geslacht = trim($_POST['Geslacht']);

if (strlen($Geslacht) <3) {
    $fout[] = 'Geslacht moet minimaal 3 karakters bevatten.';
}

if(strlen($Geslacht) >7) {
    $fout[] = 'Geslacht moet maximaal 7 karakters bevatten.';
}

if(!get_magic_quotes_gpc()) {
    $_POST[] addslashes($_POST['Geslacht']);
}

$ControleerGeslacht = $_POST['Geslacht'];
$Controleer = mysql_query("SELECT geslacht FROM geslachten WHERE geslacht='$ControleerGeslacht'")or die (mysql_error());

if (!fout ) {
    
$Geslacht = mysql_real_escape_string($Geslacht);
$Geslacht = strip_tags($Geslacht);
}



  if(empty($_POST['wachtwoord'])) {
        $fout[]    = 'Er is geen wachtwoord opgegeven.';
    } elseif($_POST['wachtwoord'] != $_POST['wachtwoord_herh']) {
        $fout[] = 'De wachtwoorden komen niet overeen.';
    }



 
    if(!is_email($_POST['email'])) {
        $fout[] = 'Er is geen geldig e-mailadres opgegeven.';
    } elseif(geregistreerd($_POST['email'], 'email')) {
        $fout[] = 'Dit e-mailadres is reeds geregistreerd.';
    }


$Uitvoeren = "INSERT INTO gebruikers (gebruikersnaam, stalnaam, naampaard, ras, geslacht, wachtwoord, email) VALUES ('$Gebruikersnaam', '$Stalnaam', '$Naampaard', '$Ras', '$Geslacht', '$Wachtwoord', '$Email')";
$Resultaat1 = mysql_query($Uitvoeren) or die('Er is een fout opgetreden: ' . mysql_error());

$Naar = "$Email";
$Onderwerp = "Je hebt met succes op Horselife.net84.net geregistreerd!";
$Emailveld = "Hallo $Gebruikersnaam, Welkom bij Horselife.net84.net en heel veel plezier met het spel! Hier zijn je gegevens: gebruikersnaam: $Gebruikersnaam, Stalnaam: $Stalnaam en wachtwoord: $Wachtwoord";
$ExtraHeaders = "Van: <[email protected]>";
$ExtraHeaders .= "Antwoorden: [email protected]";
if(mail($Naar, $Onderwerp, $Emailveld, $ExtraHeaders)){}



fouten($fout);


    
    
 
   
    // Het formulier is gecontroleerd, nu kijken we of er fouten opgetreden zijn
    if(count($fouten) > 0) {
        ?>
        <span style="color: #FF0000; ">De volgende fouten zijn opgetreden:</span>
        <ul>
            <?php foreach($fouten as $fout) { ?>
                <li><?=$fout?></li>
            <?php } ?>
        </ul>
        <?php
    } else {
        // Er zijn geen fouten, voer registratie uit!
         
        mysql_query("INSERT INTO gebruikers
                                 (gebruikersnaam, stalnaam, naampaard, ras, geslacht, wachtwoord, email, datum)
                                 VALUES
                                 ('".mysql_real_escape_string($_POST['gebruikersnaam'])."',
                                  '".mysql_real_escape_string($_post['stalnaam'])."',
                                  '".mysql_real_escape_string($_post['naampaard'])."',
                                  '".mysql_real_escape_string($_POST['ras'])."',
                                  '".mysql_real_escape_string($_post['geslacht'])."',
                                  '".sha1($_POST['wachtwoord'])."',
                                  '".mysql_real_escape_string($_POST['email'])."',
                                  NOW()
                                 )");
                                  
        $gebruikers_id = mysql_insert_id();
         
        // Een volledig willekeurige code van 40 tekens
        $activatiecode = sha1(md5(microtime()*rand(1,10)));
        mysql_query("INSERT INTO gebruikers_activaties
                                 (gebruikers_id, sleutel)
                                 VALUES
                                 (".$gebruikers_id.", '".$activatiecode."'");
                                  
        // Voor de regeleinden
        define('EOL', "\n");
        // Je kan deze mail uit uitbreiden, evt HTML mail,...
        $mail   = 'Bedankt voor je registratie, activeer hier je acount:'.EOL;
        $mail  .= 'http://www.horselife.net84.net/activeer.php?gebruiker='.$gebruikers_id.'&sleutel='.$activatiecode.EOL;
        $mail  .= 'Bedankt voor het registreren.';
         
        $header = '"Horselife.net84.net Account" <[email protected]>';
         
        if(mail($_POST['email'], 'Je account activeren', $mail, $header));
        ?> {
        echo 'Er is een e-mail gestuurd met activatiedetails.'<?=$mail?>
        <?php
        // Formulier verbergen
        $verberg_form = true;}
    }
    
    
} else {
    // Dit stuk wordt uitgevoerd als het formulier nog niet is verzonden.
     
    // Het formulier is nog niet verzonden, dus is er ook geen $post array.
    // we maken deze dus zelf aan met initiele waardes, om warnings te voorkomen.
    $post = array(     
                'gebruikersnaam'     => '',
                'email'                => '');
}

    
if(!isset($verberg_form)) {
   ?>
 
<form action="<?=htmlentities($_SERVER['REQUEST_URI'])?>" method="post">
    Gebruikersnaam:<br />
    <input type="text" name="gebruikersnaam" value="<?=$post['Gebruikersnaam']?>" /><br />
    Stalnaam:<br />
    <input type="text" name="stalnaam" value="<?=$post['Stalnaam']?>" /><br />
    Naam paard:<br />
    <input type="text" neme="naampaard" value="<?=$post['Naampaard']?>" /><br />
    Ras:<br />
    <input type="text" neme="ras" value="<?=$post['Ras']?>" /><br />
    Geslacht:<br />
    <input type="text" neme="geslacht" value="<?=$post['Geslacht']?>" /><br />
    Wachtwoord:<br />
    <input type="password" name="Wachtwoord" /><br />
    Wachtwoord herhalen:<br />
    <input type="password" name="Wachtwoord_herh" /><br />
    E-mailadres:<br />
    <input type="text" name="Email"  value="<?=$post['email']?>" /><br />
    <br />
    <input type="submit" value="Registreer" />
</form>
<?php
}
?>
 
  • Replies 211
  • Created
  • Last Reply

Seems good, but a hope shortcoming:

- sql query injection

- the check for tje mail function is noy yet finished

- depricated functions..

This script is like the mess of the room of my brother.. :-P

Throw it away... ;)

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.