Dit is een stuk code dat anderhalf jaar geleden nog perfect werkte. Nu probeerde ik de site terug te openen (was enkel gesloten door een redirect), maar opeens werken een aantal key functionaliteiten niet meer, waaronder de login en authenticatie. Ik heb niets veranderd aan de code, maar de site wel verhuisd van dennisclaes.com naar dennisclaes.be Zelfde hosting, zelfde server, zelfde database.
Onderstaand stuk code doet (deed):
1) wachtwoord ontvangen van de login pagina
2) checken of die gebruiker nog actief is en of hij niet geblokkeerd is
3) checken of er meerdere gebruikers zijn met hetzelfde wachtwoord (don't ask ...:-) )
4) een sessie variabele invullen met de naam van de gebruiker
5) indien gewenst een cookie invullen zodat die persoon zich volgende keer niet meer hoef aan te melden
6) de gebruiker doorsturen naar de hoofdpagina
In een poging om te debuggen heb ik dat laatste in comment gezet, maar die code wordt TOCH uitgevoerd!!! Onderstaande code resulteert dus in het doorverwijzen naar de hoofdpagina, zonder authenticatie (want daar krijg ik de foumelding dat 'User' een undefined index is).
<?php
header("Cache-Control: private");
header("Pragma: no-cache");
session_start();
?>
<html>
<body>
<?
$Pass = $_POST["pass"];
$db = mysql_connect("******", "******", "******");
mysql_select_db("******",$db);
$sql = "Select Naam FROM ****** WHERE Wachtwoord = '" . $Pass . "' AND Actief='1' AND Blocked = 0";
$result = mysql_query($sql, $db);
if ($result === false) die(mysql_error());
$num=mysql_numrows($result);
if($num == 0)
{
echo "Wachtwoord is verkeerd of uw account is nog niet actief";
}
else
{
if($num > 1)
{
echo "Kan u niet inloggen momenteel, neem contact op met Dennis Claes: [email protected]";
}
else
{
$_SESSION['User'] = mysql_result($result, $i, "Naam");
if($_POST['Onthouden'] == true)
{
setcookie("Gebruiker", mysql_result($result, $i, "Naam"), time()+(3600*24*365));
}
//echo "<script>window.location='poker.php'</script>";
}
}
mysql_close($db);
?>
</body>
</html>
Wanneer ik de regel code die de gebruiker doorverwijst, gewoon wis, dan krijg ik de volgende letterlijke output in mijn browser:
1) { echo "Kan u niet inloggen momenteel, neem contact op met Dennis Claes: [email protected]"; } else { $_SESSION['User'] = mysql_result($result, $i, "Naam"); if($_POST['Onthouden'] == true) { setcookie("Gebruiker", mysql_result($result, $i, "Naam"), time()+(3600*24*365)); } } } mysql_close($db); ?>
In mijn .htacces staat reeds php_flag display_errors "1"
Heeft iemand een idee waarom mijn code na anderhalf jaar, zomaar opeens niet meer werkt? En waarom ik een deel van de code als output krijg in mijn browser?
1.641 views