Martijn31
Gebruiker
- Lid geworden
- 6 sep 2009
- Berichten
- 362
Hallo, Ik ben bezig met een inlog en registratie script, alleen het wil niet helemaal lukken. zo werkt het inloggen half, maar ik kan niet uitloggen? als ik inlog linkt hij naar me.php daarin zou ik dan (Welkom "gebruikersnaam" ) willen hebben staan maar via een echo werkt dit niet.. als ik inlog dan linkt hij naar me.php maar ook als ik niet ben ingelogd kan ik op me.php Dit zijn allemaal kleine foutjes waar ik niet uit kom... is er mischien een coder op dit forum die dit voor mij wilt fixen en de fouten erbij wilt zetten zodat ik ervan kan leren? hieronder komen de 4 codes
beveiligd.php
login.php
contactdb.php
Nu heb ik alleen nog de insert.sql mischien dat iemand hier ook nog iets mee kan betekenen?
insert.sql
Meer pagina's heb ik niet. Dus mijn vraag was of iemand deze codes na zou willen kijken en de fouten wil verbeteren? of diegene het uiloggen werkend wil maken en de beveiliging?
Alvast heel erg bedankt
Mvg Martijn
beveiligd.php
PHP:
<?php
// sql connectie includen
include ("./includes/contactdb.php")
// inlogpagina
$login_pagina = "me.php";
$sql = "SELECT * FROM users WHERE Gebruikersnaam='".$_COOKIE['Gebruikersnaam']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$aantal = mysql_num_rows($resultaat);
if ($aantal == '0') {
// de waarde van de aanwezige Gebruikersnaam-cookie bij de bezoeker komt niet overeen met een waarde uit de database
echo "Klik <a href=\"".$login_pagina."\"></a> om in te kunnen loggen.";
} else {
$login = mysql_fetch_object($resultaat);
if ($_COOKIE['Wachtwoord'] != $login->Wachtwoord || $_COOKIE['Gebruikersnaam'] != $login->Gebruikersnaam) {
echo "De cookies konden niet gecombineerd worden.";
} else {
// de beveiligde inhoud tonen;
}
}
?>
login.php
PHP:
<?php
// waar moet de bezoeker heengestuurd worden nadat hij/zij succesvol ingelogd is ?
$redirect_pagina = "me.php";
if ($_GET['actie'] == 'inloggen') {
// als inlogformulier is verstuurd
$sql = "SELECT * FROM users WHERE Gebruikersnaam='".$_POST['Gebruikersnaam']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$aantal = mysql_num_rows($resultaat);
if ($aantal == '0') {
// als er geen resultaat is gevonden
echo "Uw gebruikersnaam of wachtwoord is onjuist!";
} else {
$login = mysql_fetch_object($resultaat);
$login->Wachtwoord;
$login->Gebruikersnaam;
if($_POST['Wachtwoord'] == $login->Wachtwoord) {
// als gegevens kloppen met gegevens uit database, cookies setten en doorsturen!
setcookie("Gebruikersnaam", $_POST['Gebruikersnaam'], time() + 60*60); // cookie blijft 60 keer 60 seconden bestaan
setcookie("Wachtwoord", $_POST['wachtwoord'], time() + 60*60);
echo "U bent succesvol ingelogd, een moment.. <META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$redirect_pagina."\">";
} else {
echo "Uw inloggegevens kloppen niet, klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om nogmaals te proberen.";
}
}
} else if ($_GET['actie'] == 'registreren') {
// als men zich wil registreren
if ($_GET['versturen'] == 'ja') {
// als formulier reeds is verstuurd
if (empty($_POST['Gebruikersnaam'])) {
echo "Je hebt geen Gebruikersnaam ingevuld, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else if (empty($_POST['email'])) {
echo "Je hebt geen E-mail adres ingevuld, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else if (empty($_POST['Wachtwoord'])) {
echo "Je hebt geen Wachtwoord ingevuld, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else if (empty($_POST['Wachtwoord_controle'])) {
echo "Je moet ter controle ook het controleveld voor het Wachtwoord invullen, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else {
if ($_POST['Wachtwoord'] != $_POST['Wachtwoord_controle']) {
echo "De ingevoerde Wachtwoorden kwamen niet overeen, <a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Probeer nogmaals</a>.";
} else {
$registreer = "INSERT INTO users (Gebruikersnaam, Wachtwoord, email, IP) VALUES ('".$_POST['Gebruikersnaam']."', '".$_POST['Wachtwoord']."', '".$_POST['email']."', '".$_POST['IP']."')";
mysql_query($registreer) or die(mysql_error());
echo "Uw gegevens zijn succesvol opgeslagen! Klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om in te kunnen loggen.";
}
}
} else {
// als formulier nog niet is verstuurd, toon registratieformulier
echo "<form action=\"".$_SERVER['PHP_SELF']."?actie=registreren&versturen=ja\" method=\"post\">
<table>
<tr><th colspan=\"2\">Registreren</th></tr>
<tr><td>Gebruikersnaam</td><td><input type=\"text\" name=\"Gebruikersnaam\" size=\"15\"></td></tr>
<tr><td>E-mail</td><td><input type=\"text\" name=\"email\" size=\"15\"></td></tr>
<tr><td>Wachtwoord</td><td><input type=\"password\" name=\"Wachtwoord\" size=\"15\"></td></tr>
<tr><td>Wachtwoord <small>(controle)</small></td><td><input type=\"password\" name=\"Wachtwoord_controle\" size=\"15\"></td></tr>
<input type=\"hidden\" name=\"IP\" value=\"".$_SERVER['REMOTE_ADDR']."\" />
<tr><td></td><td><input type=\"submit\" value=\"Registreer\"></td></tr>
</table></form>";
}
} else {
// inlogformulier
echo "<form action=\"".$_SERVER['PHP_SELF']."?actie=inloggen\" method=\"post\">
<table>
<tr><th colspan=\"2\">Inloggen</th></tr>
<tr><td>Gebruikersnaam</td><td><input type=\"text\" name=\"Gebruikersnaam\" size=\"15\"></td></tr>
<tr><td>Wachtwoord</td><td><input type=\"password\" name=\"Wachtwoord\" size=\"15\"></td></tr>
<tr><td></td><td><input type=\"submit\" value=\"Inloggen\"></td></tr>
<tr><td></td><td><a href=\"".$_SERVER['PHP_SELF']."?actie=registreren\">Registreren</a></td></tr>
</table></form>";
}
?>
contactdb.php
PHP:
<?php
$host = "mijnsite.nl"; //mysql locatie
$user = "Database inlognaam"; //mysql gebruikersnaam
$pass = "Wachtwoord"; //mysql wachtwoord
$db = "Database naam"; //mysql database
mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($db);
?>
Nu heb ik alleen nog de insert.sql mischien dat iemand hier ook nog iets mee kan betekenen?
insert.sql
PHP:
CREATE TABLE users (
id int(10) unsigned NOT NULL auto_increment,
Gebruikersnaam varchar(50) default NULL,
Wachtwoord varchar(20) default NULL,
email varchar(50) default NULL,
IP varchar(50) default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
Meer pagina's heb ik niet. Dus mijn vraag was of iemand deze codes na zou willen kijken en de fouten wil verbeteren? of diegene het uiloggen werkend wil maken en de beveiliging?
Alvast heel erg bedankt
Mvg Martijn
Laatst bewerkt: