[PHP] Hulp gevraagd!

Gestart doorJosnl31 reacties37 weergaven

32 berichten · pagina 1 van 3

Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo allemaal!

Ik ben bezig met een script, alleen kom ik niet verder bij het logingedeelte.

Dit is mijn code:

[COLOR= #0000BB]<?php[/COLOR]     
        [URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
        [URL="http://www.php.net/ob_start"]ob_start[/URL][COLOR= #007700]();[/COLOR]
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inloggen</title>
</head>

<body>


[COLOR= #0000BB]<?php[/COLOR]

[URL="http://www.php.net/include"]include[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]config.php[/COLOR][COLOR= #007700]);[/COLOR]

[COLOR= #0000BB]$gebrnaam[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]];[/COLOR]

[COLOR= #FF8000]//Database gegevens ophalen[/COLOR]
[COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT gebrnaam,wachtwoord FROM leden WHERE naam =  "[/COLOR][COLOR= #007700].[/COLOR][URL="http://www.php.net/mysql_real_escape_string"]mysql_real_escape_string[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$gebrnaam[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700]);[/COLOR]


[COLOR= #FF8000]//Kijken of de ingevulde gebruikersnaam hoort bij het ingevulde wachtwoord[/COLOR]
HIER KOM IK NIET VERDER [COLOR= #007700]:([/COLOR]
    

[COLOR= #FF8000]//Als het klopt: cookie aanmaken, en weergeven dat je succesvol bent ingelogd    [/COLOR]
[URL="http://www.php.net/setcookie"]setcookie[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"ingelogd"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]],[/COLOR] [URL="http://www.php.net/Time"]Time[/URL][COLOR= #007700]()+[/COLOR][COLOR= #0000BB]3600[/COLOR][COLOR= #007700]*[/COLOR][COLOR= #0000BB]24[/COLOR][COLOR= #007700]*[/COLOR][COLOR= #0000BB]7[/COLOR][COLOR= #007700]);[/COLOR]

        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<font color="#009900">Je bent succesvol ingelogd!</font>[/COLOR][COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/header"]header[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Location: succes.php[/COLOR][COLOR= #007700]);
        
        }[/COLOR]
        

[COLOR= #FF8000]//Als de gegevens niet kloppen echoen: De ingevulde gegevens zijn niet correct    [/COLOR]
        [URL="http://www.php.net/elseif"]elseif[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$gebruiker[/COLOR] [COLOR= #007700]!==[/COLOR] [COLOR= #0000BB]$wachtwoord[/COLOR][COLOR= #007700]){[/COLOR]
        
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<font color="#FF0000">De ingevulde gegevens zijn niet correct.</font>[/COLOR][COLOR= #007700];    

        }[/COLOR]        

?>


<form action="" method="post">
   <table border="0">
      <tr>
         <td><input type="text" name="naam" value="Gebruikersnaam" size="20px"></td>
      </tr>
      <tr>
         <td><input type="password" name="pass" value="Wachtwoord" size="20px"></td>
      </tr>
      <tr>
         <td><input type="submit" name="inloggen" value="Inloggen"></td>
      </tr>
   </table>
</form>

</body>
</html>


Dit snap ik allemaal wel (anders had ik het ook niet gemaakt xd) alleen weet ik niet hoe je kan kijken of de ingevulde gebruikersnaam overeenkomt met het ingevulde wachtwoord.

Erik vertelde me iets over fetchen, alleen snap ik dat niet helemaal.

Ik hoop dat jullie me kunnen helpen,

Gr.
Josbiggrin
0
Berichten
5.957
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik raad je aan een tutorial te volgen.
0
Berichten
6.356
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php[/COLOR]     
        [URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
        [URL="http://www.php.net/ob_start"]ob_start[/URL][COLOR= #007700]();[/COLOR]
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inloggen</title>
</head>

<body>


[COLOR= #0000BB]<?php[/COLOR]

[URL="http://www.php.net/include"]include[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]config.php[/COLOR][COLOR= #007700]);[/COLOR]

[COLOR= #0000BB]$gebrnaam[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]];[/COLOR]

[COLOR= #FF8000]//Database gegevens ophalen[/COLOR]
[COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT gebrnaam,wachtwoord FROM leden WHERE naam =  "[/COLOR][COLOR= #007700].[/COLOR][URL="http://www.php.net/mysql_real_escape_string"]mysql_real_escape_string[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$gebrnaam[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700]);[/COLOR]


[COLOR= #FF8000]//Kijken of de ingevulde gebruikersnaam hoort bij het ingevulde wachtwoord[/COLOR]
[COLOR= #0000BB]$wachtwoord[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"SELECT wachtwoord FROM `leden` WHERE  `gebrnaam` = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$gebrnaam[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$sql[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"SELECT * FROM `leden` WHERE `gebrnaam`="[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$gebrnaam[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" AND `wachtwoord`="[/COLOR][COLOR= #007700].[/COLOR][URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$wachtwoord[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700];[/COLOR]
    

[COLOR= #FF8000]//Als het klopt: cookie aanmaken, en weergeven dat je succesvol bent ingelogd    [/COLOR]
[URL="http://www.php.net/setcookie"]setcookie[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"ingelogd"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]],[/COLOR] [URL="http://www.php.net/Time"]Time[/URL][COLOR= #007700]()+[/COLOR][COLOR= #0000BB]3600[/COLOR][COLOR= #007700]*[/COLOR][COLOR= #0000BB]24[/COLOR][COLOR= #007700]*[/COLOR][COLOR= #0000BB]7[/COLOR][COLOR= #007700]);[/COLOR]

        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<font color="#009900">Je bent succesvol ingelogd!</font>[/COLOR][COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/header"]header[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Location: succes.php[/COLOR][COLOR= #007700]);
        
        }[/COLOR]
        

[COLOR= #FF8000]//Als de gegevens niet kloppen echoen: De ingevulde gegevens zijn niet correct    [/COLOR]
        [URL="http://www.php.net/elseif"]elseif[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$gebruiker[/COLOR] [COLOR= #007700]!==[/COLOR] [COLOR= #0000BB]$wachtwoord[/COLOR][COLOR= #007700]){[/COLOR]
        
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<font color="#FF0000">De ingevulde gegevens zijn niet correct.</font>[/COLOR][COLOR= #007700];    

        }[/COLOR]        

?>


<form action="" method="post">
   <table border="0">
      <tr>
         <td><input type="text" name="naam" value="Gebruikersnaam" size="20px"></td>
      </tr>
      <tr>
         <td><input type="password" name="pass" value="Wachtwoord" size="20px"></td>
      </tr>
      <tr>
         <td><input type="submit" name="inloggen" value="Inloggen"></td>
      </tr>
   </table>
</form>

</body>
</html>


Zoiets? Ben ook niet heel goed in PHP hoor yummie
0
Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Maar hoe check ik dan of die gegevens bij elkaar horen?

En Alemaalte, nog één nutteloze reactie en ik geef je een report.nooo
0
Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Mikeb schreef:
Ben ook niet heel goed in PHP hoor yummie
Het is te merken sadley
Mikeb schreef:
[COLOR= #0000BB]<?php
$wachtwoord[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"SELECT wachtwoord FROM `leden` WHERE  `gebrnaam` = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$gebrnaam[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]";
$sql = "[/COLOR]SELECT [COLOR= #007700]*[/COLOR] FROM `leden` WHERE `gebrnaam`[COLOR= #007700]=[/COLOR][COLOR= #DD0000]".$gebrnaam."[/COLOR] AND `wachtwoord`[COLOR= #007700]=[/COLOR][COLOR= #DD0000]".md5($wachtwoord)."[/COLOR][COLOR= #007700];[/COLOR]
Dat moet uiteraard dit zijn:

[COLOR= #0000BB]<?php
$wachtwoord[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"SELECT wachtwoord FROM leden WHERE gebrnaam = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$gebrnaam[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$sql[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"SELECT * FROM `leden` WHERE `gebrnaam`="[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$gebrnaam[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" AND `wachtwoord`="[/COLOR][COLOR= #007700].[/COLOR][URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$wachtwoord[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700];[/COLOR]
0
Berichten
6.356
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Oeps.. was " vergeten yummie
@JosNL

Dat checkt hij dan toch automatisch?
0
Berichten
171
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
$sql = mysql_query("SELECT gebruikersnaam,wachtwoord FROM !!HIER DE DATABASE!! WHERE gebruikersnaam=".$gebruikersnaam." AND wachtwoord=".$wachtwoord."");
        if(mysql_num_rows($sql) < 1) {
            echo"De gegevens kloppen niet!";

     }else{
// Hier dingen als gegevens goed zijn.

}


Ik hoop dat dat werkt!

Edit:

Mensen waren me al voor yummie
0
Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb het zo gedaan:

$wachtwoord = mysql_query("SELECT `wachtwoord` FROM `leden` WHERE  `gebrnaam` = ".$gebrnaam."");
$sql = mysql_query("SELECT * FROM `leden` WHERE `gebrnaam`=".$gebrnaam." AND `wachtwoord`=".md5($wachtwoord)."");


Is dat ook goed? yummie
EDIT:

Ik heb het niet in md5 gecodeerd, dit is hoe ik mijn wachtwoorden in de db zet:

$wachtwoord = hash("sha512", $salt . $wachtwoord .  $salt);


Moet ik dan i.p.v :

$sql = mysql_query("SELECT * FROM `leden` WHERE `gebrnaam`=".$gebrnaam." AND `wachtwoord`=".md5($wachtwoord)."");


dit maken:

$sql = mysql_query("SELECT * FROM `leden` WHERE `gebrnaam`=".$gebrnaam." AND `wachtwoord`=".sha512($wachtwoord)."");


Want dat werkt namelijk niet...
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Als je ze met
hash("sha512", $salt . $wachtwoord . $salt);
erin zet

moet je ze ook met
hash("sha512", $salt . $wachtwoord . $salt);
checken yummie
0
Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Maar hoe moet ik dat dan doen? Want het gedeelte van die gegevens checken snap ik juist niet...cry
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Hoe bedoel je? emo
0
Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nou, hoe kan ik ervoor zorgen dat via php gecheckt wordt of het wachtwoord bij de gebruikersnaam hoort, en als het klopt, dan maakt ie de cookie/sessie aan.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
gewoon met mysql checken of of de gebruiker x het wachtwoord y heeft.
"SELECT 1 FROM users WHERE uname = x AND upass = y"

Bestaat de gebruiker niet -> krijg je 0 rows
Is het wachtwoord verkeerd -> krijg je 0 rows
Zijn beide goed -> 1 row

Oftewel, je moet checken hoeveel rows je terug krijgt. Dit kan je doen met mysql_num_rows(). Als die 1 terug geeft dan klopt het dus en maak je een sessie aan.
0
Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dus:

[COLOR= #0000BB]<?php[/COLOR]

[URL="http://www.php.net/if"]if[/URL] [URL="http://www.php.net/mysql_num_rows"]mysql_num_rows[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$result[/COLOR][COLOR= #007700]) ==[/COLOR] [COLOR= #0000BB]1[/COLOR] [COLOR= #007700]{[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]"Je bent succesvol ingelogd!"[/COLOR][COLOR= #007700];

}[/COLOR][URL="http://www.php.net/else"]else[/URL][COLOR= #007700]{[/COLOR]
 
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]"De gegevens zijn incorrect"[/COLOR][COLOR= #007700];

}[/COLOR]

?>


Zoiets? Of doe ik het nu helemaal verkeerd?
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Nee, je moet eerst die query doen:

[COLOR= #0000BB]<?php
$sQuery[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT 1 FROM users WHERE name = "[/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/mysql_real_escape_string"]mysql_real_escape_string[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]name[/COLOR][COLOR= #007700]]) .[/COLOR] [COLOR= #DD0000]" AND pass = "[/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/mysql_real_escape_string"]mysql_real_escape_string[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]pass[/COLOR][COLOR= #007700]])  .[/COLOR] [COLOR= #DD0000]""[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_num_rows"]mysql_num_rows[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sQuery[/COLOR][COLOR= #007700]) ==[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700])
{[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Je bent succesvol ingelogd![/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL]
[COLOR= #007700]{[/COLOR] 
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]De gegevens zijn incorrect[/COLOR][COLOR= #007700];
}[/COLOR]

?>
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren