Hoi,
Nu ik verdienlocatie 99% heb afgerond wil ik weer even verder gaan met 123portfolio, maar er is een foutje met het login systeem dat ik niet vind.
Als ik inlog dan maakt die geen session / cookie aan. Als ik een 2e keer inlog doet hij dit wel en werkt het gewoon.
Stukje header.php
PHP
<?php
/* Voor het login systeem */
$IP = $_SERVER['REMOTE_ADDR'];
$code = rand(100000,999999);
$tUpd1 = time();
$q1 = mysql_query("SELECT * FROM onthoud WHERE ip = '". $_SERVER['REMOTE_ADDR'] ."' AND tijd > ". $tUpd1 ." ORDER BY id DESC LIMIT 1");
if(mysql_num_rows($q1))
{
$klogin = mysql_fetch_assoc($q1);
$_SESSION['login'] = htmlspecialchars(mysql_real_escape_string(trim(stripslashes($klogin['username']))));
$_SESSION['port'] = $klogin['portfolionaam'];
echo '<meta http-equiv="refresh" content="0;URL=$domein/account/" />';
}
?>
Toon Meer
En het login gedeelte :
PHP
<?php
if(!isset($_POST['submit']))
{
?>
<p>Log-in op je account om je portfolio te wijzigen</p>
<form action="" method="post">
<table border="0">
<tr><td>Gebruikersnaam:</td><td><input type="text" class="box" name="username" /></td></tr>
<tr><td>Wachtwoord:</td><td><input type="password" class="box" name="password" /></td></tr>
<tr><td>Onthoud mij <a href="#" onclick="alert('Hier word je ip adres 2 weken in onze database opgeslagen. Dit is op geen enkele manier te veranderen en als je in deze twee weken op login klikt zul je automatisch worden ingelogd!');">?</a></td><td><input type="checkbox" name="koekje" /></td></tr>
<tr><td> </td><td><input type="submit" name="submit" class="button" value="" /></td></tr>
</table>
<a href="/pwvergeten/" title="Wachtwoord vergeten">Wachtwoord vergeten?</a><br />
<a href="/registreer/" title="Registreren">Nog geen account? Maak er hier een aan!</a>
</form>
<?php
}
else
{
$username = htmlspecialchars(mysql_real_escape_string(trim($_POST['username'])));
$password = htmlspecialchars(mysql_real_escape_string(md5($_POST['password'])));
$querya = mysql_query("SELECT activated FROM users WHERE username = '". $username ."' AND password = '". $password ."' LIMIT 1") or die(Mysql_error());
$activated = mysql_fetch_object($querya);
$query['select']['valide'] = mysql_query("SELECT * FROM users WHERE username = '". $username ."' AND password = '". $password ."' LIMIT 1") or die(Mysql_error());
if(Mysql_num_rows($query['select']['valide'])) {
$query['select']['ban'] = mysql_query("SELECT * FROM users WHERE username = '". $username ."' AND password = '". $password ."' AND actief = '0' LIMIT 1") or die(Mysql_error());
if(mysql_num_rows($query['select']['ban']) > 0)
{
echo '<h2>Account uitgeschakeld</h2>
<p>De beheerder heeft er voor gekozen dit account (permanent) te blokkeren. Je kunt niet meer inloggen.</p>';
echo '<br />';
}
elseif($activated->activated == 0) {
echo '<h2>Account niet geactiveerd</h2>
<p>Jouw account is nog niet geactiveerd, je dient je account eerst te activeren voordat je kunt inloggen.</p>';
}
else {
// Ingelogd...
$_SESSION['login'] = $username;
if(@ $_POST['koekje'])
{
$q11 = mysql_query("SELECT * FROM onthoud WHERE ip = '". $_SERVER['REMOTE_ADDR'] ."' AND username = '". $username ."' ORDER BY id DESC LIMIT 1");
$xtijdnieuw = time() + 3600*24*14; // 2 weken (de laatste 2 cijfers zijn het aantal dagen)
if(mysql_num_rows($q11))
{
mysql_query("UPDATE onthoud SET tijd=tijd+".$xtijdnieuw." WHERE ip = '". $_SERVER['REMOTE_ADDR'] ."' AND username = '". $username ."'") or die(Mysql_error());
}
else
{
mysql_query("INSERT INTO onthoud (username, ip, tijd) VALUES ('". $username ."','". $_SERVER['REMOTE_ADDR'] ."','". $xtijdnieuw ."')");
echo '<script>alert("Beste '. $username .',\n\nU heeft de functie \'onthoud mij\' ingeschakeld. Met deze functie blijft u 2 weken ingelogd, op basis van ip-adres. U kunt uw cookies dus verwijderen zonder dat er problemen optreden.\n\nDit bericht verschijnt slechts eenmalig.\n\n123Portfolio.nl");</script>';
}
}
echo '<p>U bent ingelogd! Een moment geduld a.u.b.</p>';
}
}
else
{
echo '<p>Er zijn foute inloggegevens ontvangen. Probeert u het opnieuw.<br />Klik <a href="../login/">hier</a>.<br /><br /></p>';
}
}?>
Toon Meer
Weet jij wat hier de oplossing van is, ik zit al sinds 14.00 te zoeken.
Robin