login  Naam:   Wachtwoord: 
Registreer je!
 Forum

inlog en register script probleem

Offline Niceguy - 07/06/2008 18:48
Avatar van NiceguyOnbekend hallo, ik heb een login en registratie script maar ik heb een klein probleempje

als ik registreer komt er dat het goed gegaan is, maar als ik wil inloggen dan doet hij niets, hij komt gewoon weer op inlogscherm er komt niets van dat ik ingelogd ben ofzo

dit zijn de scripts

http://plaatscode.be/10203/ (de config.php)

http://plaatscode.be/10204/ (de index.php)

http://plaatscode.be/10206/ (de login.php)

http://plaatscode.be/10207/ (de registreren.php)

De database is ook aangemaakt en is goed ook in de config staan de gegevens goed, hier heb ik ze wel effe weggedaan

7 antwoorden

Gesponsorde links
Offline Godlord - 07/06/2008 18:53 (laatste wijziging 07/06/2008 18:57)
Avatar van Godlord PHP gevorderde Van lijn 28 tot 31 op plaatscode.be in registreren.php:

  1. $query ="INSERT INTO members (datum, site, nickname, voornaam,
  2. achternaam, emailadres, dag, maand, jaar, password, level)
  3. VALUES ('$datum', '$site', '$nickname', '$voornaam', '$achternaam',
  4. '$emailadres', '$dag', '$maand', '$jaar', '$password', '2')";


Dat moet zijn:

  1. $query ="INSERT INTO members (datum, site, nickname, voornaam,
  2. achternaam, emailadres, dag, maand, jaar, password, level)
  3. VALUES ('".$datum."', '".$site."', '".$nickname."', '".$voornaam."', '".$achternaam."',
  4. '".$emailadres."', '".$dag."', '".$maand."', '".$jaar."', '".$password."', '2')";


Kijk maar in je database nu staat er bv. $nickname in je database.

Ik raad je DATETIME ten strengste aan.

Edit: er is een verschil tussen een variable en een string als je dat nog niet wist. Een string "$bla" is dus niet hetzelfde als een variable $bla. Houd daar rekening mee.


M.v.g. Godlord.
Offline Niceguy - 07/06/2008 19:00
Avatar van Niceguy Onbekend dit losthet inlogprobleem niet op en er is zelf een probleem bij, met dit zegt hij bij elke nickname dat hij al in gebruik is 
Offline Godlord - 07/06/2008 19:01 (laatste wijziging 07/06/2008 19:02)
Avatar van Godlord PHP gevorderde
  1. $sql = "SELECT * FROM members WHERE nickname = '".$username."'";


Dacht je dat ik soms overal voor dezelfde fout ging zoeken, dat is niet mijn taak . Die fout zie ik trouwens op veel te veel plaatsen dus goed nakijken dus.

Trouwens gebruik niet al te veel variatie in de namen van je variabelen. Dit kan leiden tot verwarring.


M.v.g. Godlord.
Offline Niceguy - 07/06/2008 19:12 (laatste wijziging 07/06/2008 19:14)
Avatar van Niceguy Onbekend dit moet ik verangen met hetzelfde in de config?


(heb al zoveel login systemen gevonden en het wil echt niet lukken, ben ook nog niet zolang bezig met php)
Offline Grayen - 07/06/2008 19:15
Avatar van Grayen PHP ver gevorderde Ehm, Godlord, dat maakt helemaal niets uit hoor.

http://nl.php.net/string

Je mag gewoon variables binnen dubbele quotes plaatsen, alleen het wordt vaak afgeraden (of zelfs gezegd dat het niet werkt of fout is). Het werkt wel gewoon, alleen:

Citaat:
If a dollar sign ($) is encountered, the parser will greedily take as many tokens as possible to form a valid variable name.


Omdat PHP dus altijd een zo lang mogelijke variable naam probeert te krijgen kan je soms tot onverwachte fouten komen te staan. Daarvoor zou je {} kunnen gebruiken of zoals Godlord aangeeft variables buiten quotes plaatsen.

Dus het is niet fout, maar je kunt beter: "dit is een string met een {$var} erin" (kan alleen bij dubbele quotes) of 'Dit is een string met een '.$var.' erin' (kan met enkele maar ook met dubbele quotes) toepassen.

Wat betreft jouw probleem:

* Probeer te achterhalen waar het probleem zit (registreren of login), door jezelf te registreren en in je database te checken (phpmyadmin) of het erin staat. Dan weet je zeker dat het niet of juist wel aan de registratie ligt.
* Afhankelijk van waar het probleem zit moet je daar gaan checken of de variables die je in de query mee geeft wel bestaan en of er geen fout is ontstaan bij het uitvoeren van de query doormiddel van mysql_error()
* Die error van mysql geeft vervolgens aan waar het probleem zit, dan moet je kijken wat daar zit, en wat daar anders zou moeten of mist. Verhelp het probleem en check het nog eens, doet hij het nog niet, probeer dan wat anders en als je het nog steeds niet lukt, plaats dan de foutmelding + je mysql tabel hier op sima.

Offline Godlord - 07/06/2008 19:20 (laatste wijziging 07/06/2008 19:20)
Avatar van Godlord PHP gevorderde Bijvoorbeeld $test in een string heeft nooit gewerkt bij mij ook als het bestond, het is ook een slechte gewoonte om te gebruiken. Daarom dus. Het maakt code ook onduidelijk vind ik dan.

  1. echo "Je gebruikersnaam is $sUsername.";


Ik zou geschreven hebben:
  1. echo 'Je gebruikersnaam is '.$sUsername.'.';


of, voor nog meer duidelijkheid:
  1. echo 'Je gebruikersnaam is ' . $sUsername . '.';



M.v.g Godlord.
Offline memar - 08/06/2008 13:46
Avatar van memar Nieuw lid Waarom staat je passwoord als gewone text in je db en codeer je het pas als je het eruit haalt?

mvg memar
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.255s