gebruikersnaam en wachtwoord probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen bouman

jeroen bouman

20/10/2010 12:33:00
Quote Anchor link
hallo,
Ik wil op mijn website in kunnen loggen en kunnen verifieren via een sql database.
ik gebruik wampserver.

dit is mijn code:

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
30
31
<?php
//variablen ophalen.
        $inlognaam = $_POST['inlognaam'];
        $wachtwoord = $_POST['wachtwoord'];
?>



<?php
// query om gegevens te selecteren in de database
$query = 'select inlognaam, wachtwoord from gegevens
where inlognaam="'
.$inlognaam.'"
and wachtwoord="'
.$wachtwoord.'"' ;

//verbinding met sql-server maken
$verbinding = mysql_connect('localhost', 'root', '');
if (! $verbinding) {
    die('Could not connect: ');
}


//database selecteren
$database = mysql_select_db('website', $verbinding);
if (!$database) {
    die ('Can\'t select the database : ');
}


//query uitvoeren
$sql= mysql_query($query);
if (!$sql) {
    die('Invalid query: ' . mysql_error());
}

?>


Dit bovenstaande heb ik al gemaakt en gebruikt om dus de verbinding te maken en de query uit te voeren.
hierna heb ik dit geprobeerd:

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
// dit gedeelte werkt:
<p>ingevoerde inlognaam:</p>
<p><?php echo $inlognaam ; ?></p>
<p>ingevoerd wachtwoord:</p>
<p><?php echo $wachtwoord ; ?> </p>

// hier wil ik graag verifieren of de ingevoerde gebruikersnaam en wachtwoord overeenkomen met 1 id in de database.
//ik heb dus wel wat geprobeerd maar ik kom er niet uit.
<p>Query resultaat </p>

<?php if ($result=mysql_query($query)) {
  if ($row=mysql_fetch_row($result)) {
    echo "Column 1 is ".$row[0]."<br>\n";
    echo "Column 2 is ".$row[1]."<br>\n";
  }
}
else {
  echo "<!-- SQL Error ".mysql_error()." -->";
}

?>


Graag in het vervolg bij code, [code] [/code] tags gebruiken. [/modedit]
Gewijzigd op 20/10/2010 12:36:09 door Bas IJzelendoorn
 
PHP hulp

PHP hulp

24/11/2024 03:18:26
 
- Ariën  -
Beheerder

- Ariën -

20/10/2010 12:40:58
Quote Anchor link
En wat is het probleem verder? Wat lukt er niet aan? Wat gebeurt er?
 
Jeroen bouman

jeroen bouman

20/10/2010 13:16:36
Quote Anchor link
wat er gebeurt is dat hij gaat kijken of het in de database staat war er ingevoerd wordt.
nu wil ik dat ik kan kiezen :
- als de gebruikersnaam en wachtwoord WEL in de database voorkomen de site doorverwijzen naar de volgende pagina.
- als de gebruikersnaam en wachtwoord NIET in de database voorkomen dat er niks gebeurt.

mijn vraag is eigenlijk hoe ik dit realiseer.


@mod, sorry, ik ben nieuw op dit forum en zal de volgende keer tags gebruiken.
Gewijzigd op 20/10/2010 13:18:39 door jeroen bouman
 
- Dave -

- Dave -

20/10/2010 13:24:48
Quote Anchor link
Je kan kijken met mysql_num_rows hoeveel resultaten uit je query komen. Als het er 0 zijn bestaat de combinatie van de gebruikersnaam en wachtwoord niet als het 1 is dan bestaat de account.

Overigens is je script kwetsbaar voor SQL injectie.
Gewijzigd op 20/10/2010 13:25:23 door - Dave -
 
Jeroen bouman

jeroen bouman

20/10/2010 13:44:18
Quote Anchor link
hij geeft al een uitkomst weer met:
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
<?php if ($result=mysql_query($query)) {
  if ($row=mysql_fetch_row($result)) {
    echo "Column 1 is ".$row[0]."<br>\n";
    echo "Column 2 is ".$row[1]."<br>\n";
  }
}
else {
  echo "<!-- SQL Error ".mysql_error()." -->";
}
[
/code]

de 1e en 2e row, en aangezien hij met de variable $query alleen maar 2 rows ophaalt werkt dit wel.
alleen nu wil ik dus met de uitkomst bepalen naar welke pagina ik ga.
dus bij geen uitkomst(vekeerd wachtwoord of username) naar een bepaalde pagina die weergeeft gegevens fout.
bij wel een uitkomst dat hij naar een pagina gaat waarin staat dat je wel succesvol bent ingelogd.

mijn vraag is hoe maak ik dit in php?
de doorschakeling aan de hand van een variable.
ik zat te denken aan iets in de richting van.

wel een uitkomst: $ingelogd = 1
geen uitkomst: $ingelogd = 2
en dan als de uitkomst er is
if $ingelogd = 1 {ga naar pagina ingelogd.}
if $ingelogd = 2 {ga naar pagina niet ingelogd.}

ik hoop dat het voor jullie duidelijk is nu.

edit: het wil niet echt werken met de tags :(
Gewijzigd op 20/10/2010 13:46:22 door jeroen bouman
 
Teun Hesseling

Teun Hesseling

20/10/2010 13:53:18
Quote Anchor link
je kunt ook gewoon kijken nadat je de query hebt uitgevoerd of er dus wel wat in het login staat of niet ,want als de query klopt geeft hij het ww en login weer die ingevoerd is, als die niet klopt geeft hij niks weer. op die manier zouw je kunne kijken met een empty of er wat instaat zo niet ga dan terug naar het inlog formulier.
 
Jeroen bouman

jeroen bouman

20/10/2010 14:00:30
Quote Anchor link
het probleem is niet de link naar de database maar bij mijn vorige post, hoe ik dat realiseer.
wat dit script wat ik heb geschreven klopt helemaal,
er zitten geen fouten in.
ik heb geverifieerd met de database nu wil ik zorgen dat je met de uitkomst uit de database en de ingevoerde gegevens deze kunt vergelijken en met de uitkomst daarvan verder kunt.

Toevoeging op 20/10/2010 22:04:20:

ik heb een beetje geprutst met de codes en ik ben er uit gekomen:
ik moet 2 variablen vergelijken met elkaar.
deze code heb ik nu gebruikt:
$row[0] wordt opgehaald uit de mysql database.
$inlognaam komt uit een post form.

even voor de duidelijkheid, allebei de variablen werken!
ik heb ze laten weergeven dus met de overige code is niks mis.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if ($row[0]=$inlognaam){
echo "inlognaam klopt!";
}

else{
echo "inlognaam komt niet voor in de database";    
}

?>


dit stuk code klopt niet helemaal omdat hij altijd het resultaat geeft inlognaam klopt.
 



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.