Nieuw lid |
|
Hallo,
Ik heb een probleem met mijn PHP script,
ik heb een profielenscript met de pagina's "inloggen.php" en "wijzigen.php"
Als ik wil inloggen gaat er soms iets niet goed met de cookies...
Dan geeft ie de error dat je niet bent ingelogd...
Wie kan me even helpen?
Alvast bedankt!
Met vriendelijke groet,
Michel
De scripts:
Inloggen.php:
<link rel="stylesheet" type="text/css" href="../css.css">
<?
ob_start(); // We laten weten dat we met cookies gaan werken
include("global.inc.php"); // eerst includen we global.inc.php weer
if(isset($_GET['actie']) AND $_GET['actie'] == "controleren"){ // Er is op inloggen geklikt
$fout = "";
if(empty($_POST['gebruikersnaam'])){
$fout.="Er is <i>geen</i> gebruikersnaam ingevoerd.<br>";
}
if(empty($_POST['wachtwoord'])){
$fout.="Er is <i>geen</i> wachtwoord ingevoerd.<br>";
}
if(isset($fout) AND $fout == TRUE){
begintabel("Error");
echo "".$fout."";
eindetabel();
} else { // Alles is ingevuld dan:
$select = @mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".md5($_POST['wachtwoord'])."'"); // we selecteren een lid met de opgegeven gegevens.
$aantal = @mysql_num_rows($select);
$Show = @mysql_fetch_assoc($select);
if($aantal == TRUE){ // Bestaat er een lid met de opgegeven gegevens dan:
$hash = rand(9999, 99999); // we maken een hash code dit is voor de veiligheid
$hash1 = md5($hash); // de hash code wordt in md5 omgezet
@mysql_query("UPDATE leden SET hash='".$hash1."' WHERE id='".$Show['id']."'"); // de hash code wordt geupdate
setcookie("userid", $Show['id'], time()+$_POST['tijdingelogd']); // er wordt een cookie voor userid
setcookie("wachtwoord", $Show['wachtwoord'], time()+$_POST['tijdingelogd']); // er wordt een cookie gemaakt met wachtwoord
setcookie("hash", $hash1, time()+$_POST['tijdingelogd']); // Er wordt een cookie gemaakt met hash. Dit is voor de veiligheid
header("location:wijzigen.php"); // het lid wordt dooorgewezen
} else { // Zijn de gegevens verkeer dan :
begintabel(" - Inloggen - Error"); // Het begin van een tabel.
echo "Gebruikersnaam en/of wachtwoord onjuist!";
eindetabel(); // Het einde van een tabel
} // afsluiten
} // ook afsluiten
} else {
// Nu maken we een formulier om in te loggen
begintabel(" - Inloggen");
echo "<form action='inloggen.php?actie=controleren' method='POST'>
<table width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr><td width='50%' height='24'>Gebruikersnaam</td>
<td width='50%' height='24'><input type='text' name='gebruikersnaam'> <a href='aanmelden.php'>Aanmelden</a></td>
</tr><tr>
<td width='50%' height='24'>Wachtwoord</td>
<td width='50%' height='24'><input type='password' name='wachtwoord'> <a href='wwvergeten.php'>wachtwoord vergeten?</a></td>
</tr><tr>
<td width='50%' height='24'></td>
<td width='50%' height='24'><input type='submit' value='Inloggen'></td>
</tr>
</table>";
eindetabel(); // en weer afsluiten
}
?>
<link rel="stylesheet" type="text/css" href="../css.css"> <? ob_start(); // We laten weten dat we met cookies gaan werken include("global.inc.php"); // eerst includen we global.inc.php weer if(isset($_GET['actie']) AND $_GET['actie'] == "controleren"){ // Er is op inloggen geklikt $fout = ""; if(empty($_POST['gebruikersnaam'])){ $fout.="Er is <i>geen</i> gebruikersnaam ingevoerd.<br>"; } if(empty($_POST['wachtwoord'])){ $fout.="Er is <i>geen</i> wachtwoord ingevoerd.<br>"; } if(isset($fout) AND $fout == TRUE){ begintabel("Error"); eindetabel(); } else { // Alles is ingevuld dan: $select = @mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".md5($_POST['wachtwoord'])."'"); // we selecteren een lid met de opgegeven gegevens. if($aantal == TRUE){ // Bestaat er een lid met de opgegeven gegevens dan: $hash = rand(9999, 99999); // we maken een hash code dit is voor de veiligheid $hash1 = md5($hash); // de hash code wordt in md5 omgezet @mysql_query("UPDATE leden SET hash='".$hash1."' WHERE id='".$Show['id']."'"); // de hash code wordt geupdate setcookie("userid", $Show['id'], time()+$_POST['tijdingelogd']); // er wordt een cookie voor userid setcookie("wachtwoord", $Show['wachtwoord'], time()+$_POST['tijdingelogd']); // er wordt een cookie gemaakt met wachtwoord setcookie("hash", $hash1, time()+$_POST['tijdingelogd']); // Er wordt een cookie gemaakt met hash. Dit is voor de veiligheid header("location:wijzigen.php"); // het lid wordt dooorgewezen } else { // Zijn de gegevens verkeer dan : begintabel(" - Inloggen - Error"); // Het begin van een tabel. echo "Gebruikersnaam en/of wachtwoord onjuist!"; eindetabel(); // Het einde van een tabel } // afsluiten } // ook afsluiten } else { // Nu maken we een formulier om in te loggen begintabel(" - Inloggen"); echo "<form action='inloggen.php?actie=controleren' method='POST'> <table width='100%' border='0' cellpadding='0' cellspacing='0'> <tr><td width='50%' height='24'>Gebruikersnaam</td> <td width='50%' height='24'><input type='text' name='gebruikersnaam'> <a href='aanmelden.php'>Aanmelden</a></td> </tr><tr> <td width='50%' height='24'>Wachtwoord</td> <td width='50%' height='24'><input type='password' name='wachtwoord'> <a href='wwvergeten.php'>wachtwoord vergeten?</a></td> </tr><tr> <td width='50%' height='24'></td> <td width='50%' height='24'><input type='submit' value='Inloggen'></td> </tr> </table>"; eindetabel(); // en weer afsluiten } ?>
Wijzigen.php:
<link rel="stylesheet" type="text/css" href="../css.css">
<?php
include "global.inc.php"; // includen
if($ingelogd == 0) { // het persoon is niet ingelogd en kan zijn profiel dus iet wijzigen
begintabel(" - Profiel wijzigen - Error"); // Het begin van een tabel.
echo "U moet ingelogd zijn om u profiel te wijzigen.";
eindetabel(); // Het einde van een tabel.
} else {
if($_POST['submit']){ // er is op submit gedrukt
if(empty($_POST['naam']) || empty($_POST['email'])){ // controleren of er een naam en een e-mail adres is ingevuld
begintabel(" - Profiel Wijzigen - Error"); // zo nee even zeggen dat ze dat zijn vergeten
echo "U moet een naam en een e-mail adres invullen";
eindetabel();
} else {
mysql_query("UPDATE leden SET land = '".$_POST['land']."', woonplaats = '".$_POST['woonplaats']."', naam = '".$_POST['naam']."', email='".$_POST['email']."', type='".$_POST['type']."', bouwjaar='".$_POST['bouwjaar']."', kleur='".$_POST['kleur']."', motor='".$_POST['motor']."', uitlaat='".$_POST['uitlaat']."', velgen='".$_POST['velgen']."', binnenkant='".$_POST['binnenkant']."', overige='".$_POST['overige']."', toekomstige='".$_POST['toekomstige']."' WHERE id = '" . $_COOKIE['userid'] . "'");
// de dingen updates van de gebruiker die hij heeft ingevoerd
begintabel("sucsesvol gewijzigd"); // natuurlijk even weergeven dat alles goed is gegaan.
echo "Uw profiel is succesvol gewijzigd.";
echo "<br>U wordt naar uw profiel doorgestuurd.";
echo "<META HTTP-EQUIV='refresh' CONTENT='1; URL=profiel.php?id=" . $_COOKIE['userid'] . "'>"; // doorsturen na 1 seconden naar het profiel van de gebruiker
eindetabel();
}
} else {
begintabel(" - Controle Panel"); // even een titel maken
include "leden_menu.php"; // Nu halen we het leden menu erbij
eindetabel(); // en weer even de tabel afsluiten
// Hier weergeven we een forumulies met alle opties van het profiel
echo' <form method="post" action="wijzigen.php" name="bericht">';
$sql = @mysql_query("SELECT * FROM leden WHERE id='".$_COOKIE['userid']."'"); // we selecteren de dingen van het lid
$list = @mysql_fetch_object($sql); // eerst wat dingen selecteren van de gebruiker.
begintabel("Algemeen"); // hier staan de algemene dingen naam , e-mail
echo'<TABLE width="100%">'; // We maken even een mooie tabel.
echo'<TD width="25%">Naam:</TD>
<TD width="75%"><input type="text" name="naam" size="40" maxlength="80" value="' . $list->naam . '"></TD><TR>';
echo'<TD width="25%">Email:</TD>
<TD width="75%"><input type="text" name="email" size="40" maxlength="80" value="' . $list->email . '"></TD><TR>';
echo'<TD width="25%">Woonplaats:</TD>
<TD width="75%"><input type="text" name="woonplaats" size="40" maxlength="80" value="' . $list->woonplaats . '"></TD><TR>';
echo'<TD width="25%">Type Polo</TD>
<TD width="75%"><input type="text" name="type" size="40" maxlength="80" value="' . $list->type . '"></TD><TR>';
echo'<TD width="25%">Bouwjaar</TD>
<TD width="75%"><input type="text" name="bouwjaar" size="40" maxlength="80" value="' . $list->bouwjaar . '"></TD><TR>';
echo'<TD width="25%">Kleur</TD>
<TD width="75%"><input type="text" name="kleur" size="40" maxlength="80" value="' . $list->kleur . '"></TD><TR>';
echo'<TD width="25%">Motor</TD>
<TD width="75%"><input type="text" name="motor" size="40" maxlength="80" value="' . $list->motor . '"></TD><TR>';
echo'<TD width="25%">Uitlaat</TD>
<TD width="75%"><input type="text" name="uitlaat" size="40" maxlength="80" value="' . $list->uitlaat . '"></TD><TR>';
echo'<TD width="25%">Velgen</TD>
<TD width="75%"><input type="text" name="velgen" size="40" maxlength="80" value="' . $list->velgen . '"></TD><TR>';
echo'<TD width="25%">Binnenkant</TD>
<TD width="75%"><input type="text" name="binnenkant" size="40" maxlength="80" value="' . $list->binnenkant . '"></TD><TR>';
echo'<TD width="25%">Overige</TD>
<TD width="75%"><input type="text" name="overige" size="40" maxlength="160" value="' . $list->overige . '"></TD><TR>';
echo'<TD width="25%">Toekomstige</TD>
<TD width="75%"><input type="text" name="toekomstige" size="40" maxlength="160" value="' . $list->toekomstige . '"></TD><TR>';
echo'<TD width="25%">Land:</TD>
<TD width="75%">';
$land [1] = "";
$land [2] = "";
$land [3] = "";
$land [4] = "";
$land [5] = "";
$land [$list->land] = " selected"; // we kijken waar de selected moet komen bij Land
echo "<select size='1' name='land'>
<option value='1'".$land[1].">Nederland</option>
<option value='2'".$land[2].">Duitsland</option>
<option value='3'".$land[3].">Belgie</option>
<option value='4'".$land[4].">Frankrijk</option>
<option value='5'".$land[5].">Anders...</option>
</select>"; // we zetten het in een mooie tabel met een dropdown
echo '</TD><TR>';
echo'</TABLE>'; // einde van dde tabel en we sluiten af met </TABLE>
eindetabel();
begintabel("Foto's"); // hier staan de forum dingen onderschrift , ondertitel
echo'<TABLE width="100%" height="100%">'; // We maken even een mooie tabel.
echo'<TD width="25%">Fotos:<br>
LET OP!
Uw afbeeldingen mogen niet groter zijn dan 60kb en niet groter dan 300x225!<br><br>
Uw afbeeldingen hebben de naam pic1.jpg, pic2.jpg, pic3.jpg. Zorg dat uw plaatjes ook zo noemt!</TD><td>';
echo'<iframe src="upload.php" name="foto" width="100%" height="500"frameborder=0></iframe>';
echo'</TD></TR>';
echo'</TABLE>'; // einde van dde tabel en we sluiten af met </TABLE>
eindetabel();
echo'<input type="submit" name="submit" value="Wijzigen">'; // We maken even een button om op te klikken als je klaar bent
eindetabel();
} // afsluiten
} //afsluiten
<link rel="stylesheet" type="text/css" href="../css.css"> <?php include "global.inc.php"; // includen if($ingelogd == 0) { // het persoon is niet ingelogd en kan zijn profiel dus iet wijzigen begintabel(" - Profiel wijzigen - Error"); // Het begin van een tabel. echo "U moet ingelogd zijn om u profiel te wijzigen."; eindetabel(); // Het einde van een tabel. } else { if($_POST['submit']){ // er is op submit gedrukt if(empty($_POST['naam']) || empty($_POST['email'])){ // controleren of er een naam en een e-mail adres is ingevuld begintabel(" - Profiel Wijzigen - Error"); // zo nee even zeggen dat ze dat zijn vergeten echo "U moet een naam en een e-mail adres invullen"; eindetabel(); } else { mysql_query("UPDATE leden SET land = '".$_POST['land']."', woonplaats = '".$_POST['woonplaats']."', naam = '".$_POST['naam']."', email='".$_POST['email']."', type='".$_POST['type']."', bouwjaar='".$_POST['bouwjaar']."', kleur='".$_POST['kleur']."', motor='".$_POST['motor']."', uitlaat='".$_POST['uitlaat']."', velgen='".$_POST['velgen']."', binnenkant='".$_POST['binnenkant']."', overige='".$_POST['overige']."', toekomstige='".$_POST['toekomstige']."' WHERE id = '" . $_COOKIE['userid'] . "'"); // de dingen updates van de gebruiker die hij heeft ingevoerd begintabel("sucsesvol gewijzigd"); // natuurlijk even weergeven dat alles goed is gegaan. echo "Uw profiel is succesvol gewijzigd."; echo "<br>U wordt naar uw profiel doorgestuurd."; echo "<META HTTP-EQUIV='refresh' CONTENT='1; URL=profiel.php?id=" . $_COOKIE['userid'] . "'>"; // doorsturen na 1 seconden naar het profiel van de gebruiker eindetabel(); } } else { begintabel(" - Controle Panel"); // even een titel maken include "leden_menu.php"; // Nu halen we het leden menu erbij eindetabel(); // en weer even de tabel afsluiten // Hier weergeven we een forumulies met alle opties van het profiel echo' <form method="post" action="wijzigen.php" name="bericht">'; $sql = @mysql_query("SELECT * FROM leden WHERE id='".$_COOKIE['userid']."'"); // we selecteren de dingen van het lid begintabel("Algemeen"); // hier staan de algemene dingen naam , e-mail echo'<TABLE width="100%">'; // We maken even een mooie tabel. echo'<TD width="25%">Naam:</TD> <TD width="75%"><input type="text" name="naam" size="40" maxlength="80" value="' . $list->naam . '"></TD><TR>'; echo'<TD width="25%">Email:</TD> <TD width="75%"><input type="text" name="email" size="40" maxlength="80" value="' . $list->email . '"></TD><TR>'; echo'<TD width="25%">Woonplaats:</TD> <TD width="75%"><input type="text" name="woonplaats" size="40" maxlength="80" value="' . $list->woonplaats . '"></TD><TR>'; echo'<TD width="25%">Type Polo</TD> <TD width="75%"><input type="text" name="type" size="40" maxlength="80" value="' . $list->type . '"></TD><TR>'; echo'<TD width="25%">Bouwjaar</TD> <TD width="75%"><input type="text" name="bouwjaar" size="40" maxlength="80" value="' . $list->bouwjaar . '"></TD><TR>'; echo'<TD width="25%">Kleur</TD> <TD width="75%"><input type="text" name="kleur" size="40" maxlength="80" value="' . $list->kleur . '"></TD><TR>'; echo'<TD width="25%">Motor</TD> <TD width="75%"><input type="text" name="motor" size="40" maxlength="80" value="' . $list->motor . '"></TD><TR>'; echo'<TD width="25%">Uitlaat</TD> <TD width="75%"><input type="text" name="uitlaat" size="40" maxlength="80" value="' . $list->uitlaat . '"></TD><TR>'; echo'<TD width="25%">Velgen</TD> <TD width="75%"><input type="text" name="velgen" size="40" maxlength="80" value="' . $list->velgen . '"></TD><TR>'; echo'<TD width="25%">Binnenkant</TD> <TD width="75%"><input type="text" name="binnenkant" size="40" maxlength="80" value="' . $list->binnenkant . '"></TD><TR>'; echo'<TD width="25%">Overige</TD> <TD width="75%"><input type="text" name="overige" size="40" maxlength="160" value="' . $list->overige . '"></TD><TR>'; echo'<TD width="25%">Toekomstige</TD> <TD width="75%"><input type="text" name="toekomstige" size="40" maxlength="160" value="' . $list->toekomstige . '"></TD><TR>'; echo'<TD width="25%">Land:</TD> <TD width="75%">'; $land [1] = ""; $land [2] = ""; $land [3] = ""; $land [4] = ""; $land [5] = ""; $land [$list->land] = " selected"; // we kijken waar de selected moet komen bij Land echo "<select size='1' name='land'> <option value='1'".$land[1].">Nederland</option> <option value='2'".$land[2].">Duitsland</option> <option value='3'".$land[3].">Belgie</option> <option value='4'".$land[4].">Frankrijk</option> <option value='5'".$land[5].">Anders...</option> </select>"; // we zetten het in een mooie tabel met een dropdown echo'</TABLE>'; // einde van dde tabel en we sluiten af met </TABLE> eindetabel(); begintabel("Foto's"); // hier staan de forum dingen onderschrift , ondertitel echo'<TABLE width="100%" height="100%">'; // We maken even een mooie tabel. echo'<TD width="25%">Fotos:<br> LET OP! Uw afbeeldingen mogen niet groter zijn dan 60kb en niet groter dan 300x225!<br><br> Uw afbeeldingen hebben de naam pic1.jpg, pic2.jpg, pic3.jpg. Zorg dat uw plaatjes ook zo noemt!</TD><td>'; echo'<iframe src="upload.php" name="foto" width="100%" height="500"frameborder=0></iframe>'; echo'</TABLE>'; // einde van dde tabel en we sluiten af met </TABLE> eindetabel(); echo'<input type="submit" name="submit" value="Wijzigen">'; // We maken even een button om op te klikken als je klaar bent eindetabel(); } // afsluiten } //afsluiten
|