anoniem Geplaatst: 29 september 2004 Delen Geplaatst: 29 september 2004 Hoi, ik ben op het moment bezig om een inlog systeem te bouwen met php en mySQL. het lukt aardig ik stuit alleen op 1 probleem. Pagina: Login.php , hier worden de username en password ingevoerd. Alles werkt goed en als er op de knop login wordt gedrukt logt die in, alleen hij wordt niet goed doorgestuurd naar de pagina Beveiligd.php. [code:1:53b300d1e3]<?php session_start(); if(!empty($_POST)){ include("connection.php"); $query = "SELECT * FROM users WHERE email='" . $_POST["email"] ."' AND wachtwoord='". md5($_POST["wachtwoord"]) . "'"; $result = mysql_query($query); if(mysql_num_rows($result) > 0){ $user = $_POST["email"]; $wachtwoord = $_POST["wachtwoord"]; $_SESSION['user'] = $user; header("Location: beveiligd.php"); exit(); } else { $text = "U hebt geen goede combinatie van emailadres en wachtwoord gebruikt! <A onclick='javascript: window.back();'>Ga terug</A>"; die($text); } } else{ //pagina verkeerd aangeroepen header("Location: login.php"); }?> [/code:1:53b300d1e3] Ik vermoed dat er een fout zit in de header of iets dergelijks... Quote Link naar reactie
anoniem Geplaatst: 29 september 2004 Auteur Delen Geplaatst: 29 september 2004 heb je die session variabele goed geregistreerd? Dit was ik zelf ook eens vergeten... en ik zie het hier ook niet staan. Quote Link naar reactie
anoniem Geplaatst: 29 september 2004 Auteur Delen Geplaatst: 29 september 2004 staat beveiligd.php wel in de zelfde map als login.php? Quote Link naar reactie
anoniem Geplaatst: 29 september 2004 Auteur Delen Geplaatst: 29 september 2004 En een tip: Zet NOOIT die gepost variabelen direct in de query. Das vragen om een SQLinjection die minder leuke gevolgen kan hebben. Altijd eerst los checken en dan pas in de query zetten. Quote Link naar reactie
anoniem Geplaatst: 30 september 2004 Auteur Delen Geplaatst: 30 september 2004 nog wat anders: Waar gaat hij dan wel naartoe of welke melding krijg je? Quote Link naar reactie
anoniem Geplaatst: 30 september 2004 Auteur Delen Geplaatst: 30 september 2004 Geeft connection.php nog informatie richting de bezoeker? Als er al informatie verstuurd is, wil een header niet echt meer lukken. Quote Link naar reactie
anoniem Geplaatst: 2 oktober 2004 Auteur Delen Geplaatst: 2 oktober 2004 [quote:bf556d9511="E gozeling"]Geeft connection.php nog informatie richting de bezoeker? Als er al informatie verstuurd is, wil een header niet echt meer lukken.[/quote:bf556d9511] Maar dan hoor je normaal gesporoken wel een 'Headers already sent' fout te krijgen. Quote Link naar reactie
anoniem Geplaatst: 2 oktober 2004 Auteur Delen Geplaatst: 2 oktober 2004 Verander die laatste regels eens in dit anders: [code:1:7c24e21dfe]if ( headers_sent() ) { echo "<script language='JavaScript'>"; echo "document.location='./login.php'"; echo "</script>"; } else { header("location: ./login.php"); }[/code:1:7c24e21dfe] Quote Link naar reactie
anoniem Geplaatst: 3 oktober 2004 Auteur Delen Geplaatst: 3 oktober 2004 haha das een leuke oplossing maar als het goed is moet het zonder kunnen 8) maarre waar is de topicstarter gebleven? Quote Link naar reactie
anoniem Geplaatst: 5 oktober 2004 Auteur Delen Geplaatst: 5 oktober 2004 Ik ben nog erg nieuw met php en begrijp vele van de reacties niet :P wel heb ik geprobeerd het stukte met dat laatste script te vervangen, helaas zonder suc6, de pagina blijft blank op login_2.php staan. De bestanden staan allemaal in de zelfde map ja, wat wordt er bedoeld of de session variabele wel goed geregistreerd is ? Quote Link naar reactie
anoniem Geplaatst: 5 oktober 2004 Auteur Delen Geplaatst: 5 oktober 2004 login2.php? bedoel je niet beveiligd.php? kan je anders de broncodes van allebei de bestanden eens plaatsen? Quote Link naar reactie
anoniem Geplaatst: 5 oktober 2004 Auteur Delen Geplaatst: 5 oktober 2004 Oke hier de broncode van login.php login_2.php en beveiligd.php login.php [code:1:18983b5536] <H2>Hier kunt u inloggen!</H2><BR> Als u een nieuwe gebruiker bent, <A HREF="register.php">kunt u hier registreren</A><P> <FORM NAME="form1" ACTION="login_2.php" METHOD="post"> E-mail adres: <INPUT TYPE="text" NAME="email" MAXLENGHT="40"><BR> Wachtwoord: <INPUT TYPE="password" name="wachtwoord" maxlenght="10"> <INPUT TYPE="submit" VALUE="Login!"> </FORM> [/code:1:18983b5536] login_2.php [code:1:18983b5536]<?php session_start(); if(!empty($_POST)){ include("connection.php"); $query = "SELECT * FROM users WHERE email='" . $_POST["email"] ."' AND wachtwoord='". md5($_POST["wachtwoord"]) . "'"; $result = mysql_query($query); if(mysql_num_rows($result) > 0){ $user = $_POST["email"]; $wachtwoord = $_POST["wachtwoord"]; $_SESSION['user'] = $user; if ( headers_sent() ) { echo "<script language='JavaScript'>"; echo "document.location='./login.php'"; echo "</script>"; } else { header("location: ./login.php"); } [/code:1:18983b5536] beveiligd.php [code:1:18983b5536] <?php session_start(); ?> <HTML> <HEAD><TITLE>Welkom op de beveilgde pagina!</TITLE> </HEAD> <BODY> <?php if(!isset($_SESSION["user"])){ $text = "U bent niet goed ingelogd, ga terug naar <A HREF='login.php'>de login pagina</A> of naar <A HREF='registreer.php'>de registreer pagina</A>"; echo($text); } else{?> Welkom, u bent aangemeld als <?php echo($_SESSION["user"]);?><BR> <P> <A HREF="loguit.php">Log hier uit!</A> <?php } ?> </BODY> </HTML> Deze pagina controleerd of uw gegevens goed zijn aan de hand van sessions, en dan komt u op de pagina die u naar hartelust kunt veranderen. Als u meerdere pagina's wilt beveiligen kunt u dat door de volgende code doen: Code: <?php session_start(); if(!isset($_SESSION["user"])){ header("Location: login.php"); } ?> [/code:1:18983b5536] connection.php [code:1:18983b5536] <?php $host = "localhost"; $db_naam ="user_login"; $db = mysql_connect($host); mysql_select_db($db_naam, $db); ?> [/code:1:18983b5536] dit zijn de broncodes. Quote Link naar reactie
anoniem Geplaatst: 29 oktober 2004 Auteur Delen Geplaatst: 29 oktober 2004 Oke het is uiteindelijk opgelost, er werd inderdaad al een header verstuurd nu heb ik het script gebruikt van: Sjoerd, en alles werkt goed. Bedankt nog! Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen