inlog php

Status
Niet open voor verdere reacties.

larsjanssen6

Gebruiker
Lid geworden
29 mei 2013
Berichten
168
Hallo,

Momenteel ben ik een inlogsysteem aan het maken met php, maar het lukt niet echt. Misschien dat iemand weet wat ik fout doe ik krijg de volgende foutmelding(zie foto).
De sql gegevens kloppen wel want bij andere systemen pakt hij wel deze gegevens.

foutmelding.png
PHP:
<?php


//gegevens
ob_start();
$host="localhost";
$username="hier komt username";
$password="hier komt password";
$db_name="database name";
$tbl_name="users";

//verbinden
mysql_connect("$host","$username","$password")or die("cannot connect");
mysql_select_db("$db_name")or die ("cannot select DB");


//username/password
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];


//beveiliging

$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result = mysql_query($sql);

//tabel tellen
$count=mysql_num_rows($result);
//result gelijk aan inloggegevens

if ($count==1) {

session_register("myusername");
session_register("mypassword");
header("location:login_success.php");

}

else {

echo "fout";

}
ob_end_flush();



?>
 
Laatst bewerkt door een moderator:
De gegevens zullen toch echt niet kloppen, deze melding krijg je terug van de MySQL server. Heb je die wel lokaal draaien?
 
Nee het draait niet lokaal maar ik zal even testen of dit wel werkt. Heb net nogmaals de gegevens gecontroleerd bij een wordpress installatie en dit ging gewoon
dus de gegevens moeten eigenlijk wel kloppen.
 
toch nog even een vraagje..

Het werkt nu als er een verkeerd ww en gb ingevoerd word krijg je een foutmelding alleen als het goed is word het niet goed
doorgelinkt.

Dit hieronder gebruik ik om door te linken naar login_succes.php waarin een sessie word gestart en gecontroleerd. Toch klopt hier iets niet meer. Misschien weten
jullie meer?


if ($count==1) {

session_register("myusername");
session_register("mypassword");
header ( 'Location: login_succes.php' );

}
 
"localhost" werkt alleen als het script ook op dezelfde server draait als de database server. Is dat niet het geval dan zul je het externe IP-adres van de database server in moeten voeren, dat zal alleen werken wanneer de MySQL poort ook open staat.

De informatie die je geef met je login probleem is wel erg beknopt, krijg je foutmeldingen? Daarnaast snap ik niet echt waarom je aan output buffering doet, zo te zien is dat helemaal niet nodig. Ook is het niet verstandig om wachtwoorden als platte tekst in de database te zetten, encodeer die op z'n minst.

Het kan goed zijn dat jouw host een hogere PHP versie dan 5.4.0 draait, in de documentatie van session_register() staat namelijk dat hij na die versie niet meer ondersteunt wordt.
Warning
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.
 
Ik draai dit script op dezelfde server als de database, dit werkt ook gewoon. Maar zoals je zelf al aangeeft is dit eigenlijk al
een achterhaalde methode. Heb je misschien een site waar een moderne methode goed wordt uitgelegd?

Thankss!
 
Heb je misschien een site waar een moderne methode goed wordt uitgelegd?

Dat staat ook gewoon op de documentatie pagina van session_register() ;)
PHP:
// Use of $_SESSION is preferred, as of PHP 4.1.0
$_SESSION["zim"] = "An invader from another planet.";
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan