check email en username werkt niet:S?
if ($_GET['actie'] == 'inloggen')
{
while ($rij = mysql_fetch_object($resultaat))
{
if ($rij->inlognaam=$_POST['inlognaam'] and $rij->email=$_POST['email'])
{
mail($rij->email, $onderwerp, $rij->passwoord, $headers);
echo "de link is verstuurd!";
}
else
{
echo "uw inlognaam of email kloppen niet";
}
}
}
als ik nu de juiste gegevens heb ingevult dan verstuurd hij hem. maar zodra je het fout intypt moet er toch komen te staan 'uw inlognaam of email kloppen niet'? maar dat doet hij niet..
weet iemand hoe je dit verbeterd, en als je een betere code weet voor dat versturen, post hem dan hier;)
Gewijzigd op 01/01/1970 01:00:00 door Superwauwie
Quote:
Vergelijken in PHP doen we altijd nog met ==. De enkele = gebruiken we voor het toekennen van een waarde ;-)$rij->inlognaam=$_POST['inlognaam']
bedankt wist niet dat het hier met == (ben gml gewend:P)
maar hij doet het nog steeds niet hij verstuurd het niet, maar geeft ook geen tekst terug:S
Zet verder eens
boven aan je script. Dan zal PHP een melding geven op alle mogelijke fouten in je script.
Waarom vergelijk je niet in de query? Zet de gegevens in het WHERE-gedeelte en klaar ben je.
als ik die code boven aan de pagina zet dan krijg ik dit:
Warning: ini_set() has been disabled for security reasons in /usr/export/www/hosting/ccb1c/test/testy.php on line 3
Notice: Undefined index: inlognaam in /usr/export/www/hosting/ccb1c/test/testy.php on line 7
Notice: Undefined index: email in /usr/export/www/hosting/ccb1c/test/testy.php on line 7
Notice: Undefined index: actie in /usr/export/www/hosting/ccb1c/test/testy.php on line 12
Notice: Undefined variable: gebruikersnaam in /usr/export/www/hosting/ccb1c/test/testy.php on line 39
Notice: Undefined variable: email in /usr/export/www/hosting/ccb1c/test/testy.php on line 41
maar alles werkt verder perfect.... behalve de melding:
echo "uw inlognaam of email kloppen niet";
oh dat heb ik al volgens mij:P:
$sql = "SELECT * FROM memberss WHERE inlognaam='".$_POST['inlognaam']."' AND email='".$_POST['email']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
maar hoe pas ik dat dan toe?
Verder zeggen die foutmeldingen lijkt me voldoende. Je probeert variabelen te gebruiken die helemaal niet bestaan. Dus vraag je eens af waarom ze niet bestaan en controleer dus altijd of ze wel bestaan voordat je ermee aan de slag gaat.
maar over die foutmeldingen,
al die variables neemt hij vanuit de database
want deze variable bijv:
Notice: Undefined index: inlognaam in /usr/export/www/hosting/ccb1c/test/testy.php on line 7
hier is inlognaam een rij uit de database, maar hij doet het dus nog steeds niet :(
Die variabele bestaat niet, dus blijkbaar is er dan wat fout gegaan bij het uitlezen uit de database. Let op dat het natuurlijk ook om de $_POST variabele kan gaan die niet bestaat...
if ($rij->inlognaam==$_POST['inlognaam'] and $rij->email==$_POST['email'])
{
mail($rij->email, $onderwerp, $rij->passwoord, $headers);
echo "de link is verstuurd!";
}
maar die andere code niet:
if ($rij->inlognaam!==$_POST['inlognaam'] and $rij->email!==$_POST['email'])
{
mail($rij->email, $onderwerp, $rij->passwoord, $headers);
echo "de link is verstuurd!";
}
ik heb al geprobeerd die ! te verplaatsen maar geen effect:S
bij de tweede geeft hij niks niet eens de echo:S
bij de eerste wel.
Gewijzigd op 01/01/1970 01:00:00 door superwauwie
superwauwie schreef op 31.03.2008 13:53:
En waarom wil je dan in PHP nogmaals controleren of de inlognaam en het emailadres overeen komen? De 2e controle zal echt geen andere resultaten opleveren dan de eerste controle.@pgFrank:
oh dat heb ik al volgens mij:P:
$sql = "SELECT * FROM memberss WHERE inlognaam='".$_POST['inlognaam']."' AND email='".$_POST['email']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
maar hoe pas ik dat dan toe?
oh dat heb ik al volgens mij:P:
$sql = "SELECT * FROM memberss WHERE inlognaam='".$_POST['inlognaam']."' AND email='".$_POST['email']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
maar hoe pas ik dat dan toe?
Tip: Ga eerst het systeem eens goed ontwerpen op papier en pas daarna de boel in SQL en PHP uitschrijven. Er gaan nu een hoop zaken tegelijk fout waardoor je door de bomen het bos niet meer ziet.
Misschien is het handig om eens een kijkje in de PHP beginnershandleiding te nemen en wat meer kennis op te doen. Het lijkt er namelijk op dat de nodige basiskennis ontbreekt...
ik heb al gekeken daar en dat snapte ik nog wel ik snap ook wel wat er vertaalt wordt in mijn script (wat er dus letterlijk staat) maar op een of andere manier doet hij dat niet:S
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
if (isset($_GET['actie']) && $_GET['actie'] == 'inloggen') {
$email = mysql_real_escape_string($_POST['email']);
$inlognaam = mysql_real_escape_string($_POST['inlognaam']);
// Controleren of inlognaam en email combinatie bestaat.
$query = "SELECT * ";
$query .= "FROM members ";
$query .= "WHERE email = '{$email}' ";
$query .= "AND inlognaam = '{$inlognaam}' ";
$query .= "LIMIT 1";
$result = mysql_query($query);
if (mysql_num_rows($result) == 1) {
// Er is 1 resultaat gevonden en dus is er een match
// Dus hier je code voor ja acties
} elseif (mysql_num_rows($result) == 0) {
// Combinatie van gegevens niet gevonden in de database
// Hier dus de melding "niet gevonden!"
}
}
?>
if (isset($_GET['actie']) && $_GET['actie'] == 'inloggen') {
$email = mysql_real_escape_string($_POST['email']);
$inlognaam = mysql_real_escape_string($_POST['inlognaam']);
// Controleren of inlognaam en email combinatie bestaat.
$query = "SELECT * ";
$query .= "FROM members ";
$query .= "WHERE email = '{$email}' ";
$query .= "AND inlognaam = '{$inlognaam}' ";
$query .= "LIMIT 1";
$result = mysql_query($query);
if (mysql_num_rows($result) == 1) {
// Er is 1 resultaat gevonden en dus is er een match
// Dus hier je code voor ja acties
} elseif (mysql_num_rows($result) == 0) {
// Combinatie van gegevens niet gevonden in de database
// Hier dus de melding "niet gevonden!"
}
}
?>
Zoiets zou ik dan gebruiken...
Gewijzigd op 01/01/1970 01:00:00 door Bas Matthee
bedankt hij doet het:D deze manier zal ik onthouden:D
Topic closed? ;)