Inlog systeem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Rik Oudega

Rik Oudega

03/03/2013 18:18:02
Quote Anchor link
Hallo, ik heb hier een code voor mijn inlog systeem. Het probleem echter is dat ik steeds de melding krijg dat het wachtwoord onjuist is. Ik weet zeker dat dit niet het geval is. Iemand een idee?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
session_start();
mysql_connect("mysql","gebruiker","wachtwoord");
mysql_select_db("databasenaam");
if(isset($_SESSION['loggedin']))
{

    die("You are already logged in!");
}

if(isset($_POST['submit']))
{

   $name = mysql_real_escape_string($_POST['username']);
   $pass = mysql_real_escape_string($_POST['password']);
   $mysql = mysql_query("SELECT * FROM users WHERE name = '{$name}' AND password = '{$pass}'");
   if(mysql_num_rows($mysql) < 1)
   {

     die("Password was probably incorrect!");
   }

   $_SESSION['loggedin'] = "YES";
   $_SESSION['name'] = $name;
   die("You are now logged in!");
}

echo "<form type='login.php' method='POST'>
Username: <br>
<input type='text' name='username'><br>
Password: <br>
<input type='password' name='password'><br>
<input type='submit' name='submit' value='Login'>
</form>"
;
?>
 
PHP hulp

PHP hulp

25/11/2024 13:43:31
 
- Ariën  -
Beheerder

- Ariën -

03/03/2013 18:33:01
Quote Anchor link
Staan die ge-codeerd in de db?
 
Rik Oudega

Rik Oudega

03/03/2013 18:34:03
Quote Anchor link
nee, nog niet, ik wil in ieder geval dat het eerst werkt.

Toevoeging op 03/03/2013 18:53:37:

Zie jij het probleem in de code?
 
Bo Ter Ham

Bo Ter Ham

03/03/2013 19:13:10
Quote Anchor link
doe eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "SELECT * FROM users WHERE name = '{$name}' AND password = '{$pass}'";
?>

dan kopieer je die query en plak je die in phpmyadmin, daar krijg je wel een foutmelding terug (denk ik).
 
Rik Oudega

Rik Oudega

03/03/2013 19:22:33
Quote Anchor link
Als ik het is phpmyadmin plak krijg ik het volgende met een groen vinkje: MySQL gaf een lege resultaat set terug (0 rijen). ( Query duurde 0.0081 sec )
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/03/2013 19:22:42
Quote Anchor link
jaahaa en als je dan eens naar http://www.php.net/mysql_connect kijkt dan zie je dat mysql-functies verouderd zijn en eigenlijk vervangen moeten worden voor mysqli. Bovendien zie je daar dat deze functie een waarde teruggeeft true of false afhankelijk of de connectie tot stand gebracht is. Het zou natuurlijk handiger zijn als je daar in de code iets mee deed zodat je als gebruiker op de hoogte gesteld wordt wanneer een connectie niet gemaakt kan worden.
 
Rik Oudega

Rik Oudega

03/03/2013 19:28:52
Quote Anchor link
Stukje code uit andere pagina genomen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
    $db_con = mysql_connect("localhost","gebruiker","@wachtwoord");
    if (!$db_con)
      {
        die('Could not connect: ' . mysql_error());
      }
      mysql_select_db("database", $db_con);

Resultaat: geen error, de pagina wordt gewoon weergeven

Toevoeging op 03/03/2013 19:33:16:

Het probleem zit hem dus niet in de connectie
 
- Ariën  -
Beheerder

- Ariën -

03/03/2013 19:33:51
Quote Anchor link
Het lijkt me toch echt, duidelijk, de gegevens kloppen niet.

Een paar tips:
- Herschrijf alles naar Mysqli
- Gebruik geen die() maar nette foutafhandeling. Waarom moet je script en de layout stoppen als iets wel/niet goed is gegaan? Nergens voor nodig
- Sla je wachtwoorden gecodeerd op met sha1() en een unieke saltstring:
sha1("Ietsuniekshier".$_POST['password']), ook bij controle pas je die unieke string toe, en deze aan het wachtwoord te plakken
- Gebruik if($_SERVER['REQUEST_METHOD']=="POST") { om je controleren of je formulier verstuurd is.
 
Rik Oudega

Rik Oudega

03/03/2013 19:38:00
Quote Anchor link
Zoals eerder gezegd, ik weet voor 100% zeker dat het in dit geval niet ligt aan de connectie gegevens. Ik gebruik dezelfde gegevens over de hele site, daar doet alles het normaal. Waarom hier het script stopt als er iets fout gaat? Dit is slechts een test pagina waar ik het werkend wil krijgen voordat ik het ga overnemen op de site zelf.

Mijn probleem blijft dus nog steeds staan, iets klopt niet aan de code waardoor hij de invoer afwijst.
 
- Ariën  -
Beheerder

- Ariën -

03/03/2013 19:45:22
Quote Anchor link
Al is het een test dan is het onnodig.

Pas
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$mysql = mysql_query("SELECT * FROM users WHERE name = '{$name}' AND password = '{$pass}'");

aanpast naar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$sql = "SELECT * FROM users WHERE name = '{$name}' AND password = '{$pass}'";
echo $sql."<br />";
$mysql = mysql_query($sql);

Dan zie je welke query er wordt uitgevoerd, en deze kan je dan in phpMyAdmin uitvoeren. Als deze geen resultaten geeft, dan geloof ik zeer zeker dat wat je invoert gewoon niet klopt.

Maar ik raad aan om het script toch even te herschrijven met onze tips. Daarbij ben ik vergeten om foutafhandeling op je query te noemen. Ook iets wat verschrikkelijk belangrijks is.
 
Rik Oudega

Rik Oudega

03/03/2013 19:51:44
Quote Anchor link
Ik heb het script al werkend gekregen, wat zijn precies de voordelen van mysqli?
 
- Ariën  -
Beheerder

- Ariën -

03/03/2013 20:02:44
Quote Anchor link
Het is de vervanger van de Mysql-functies, welke er in PHP 5.5 uit zijn.
Gewijzigd op 03/03/2013 20:02:58 door - Ariën -
 
Php knipper

php knipper

03/03/2013 22:45:51
Quote Anchor link
foutje
Gewijzigd op 03/03/2013 22:46:11 door php knipper
 
Jer paspoort

Jer paspoort

04/03/2013 08:54:05
Quote Anchor link
Om het systeem veiliger te maken, kun je bijvoorbeeld de sessies loggen in de database, zo kun je bijvoorbeeld makkelijker voorkomen dat iemand je sessies steelt. Correct if I'm wrong.
 
Koen Hollander

Koen Hollander

04/03/2013 09:28:51
Quote Anchor link
session_regenerate_id();

Dit zal een nieuwe SESSIONID geven, dat maakt sessie stelen moeilijk, tot onmogelijk
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.