Archief - PHP: Fout in script, maar waar?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

raintjah`

Legacy Member
Ik ben dus PHP aan het leren, en ik heb net een form leren maken enzo, en nu wou ik eens een initiatief nemen:

login.html :

<form action="loginverwerken.php" method="post">
Login:<br><br>
Username: <input type="text" name="username"><br><br>
Password: <input type="text" name="password"><br><br>
<input type="Submit" value="Login">
</form>


loginverwerken.php
<?php

if (isset($_POST["password"] && $_POST["password"]=="rofl") && isset($_POST["username"] && $_POST["username"]=="raintjah") {
echo "U bent nu ingelogt";
}

else {
echo "Wrong username/password";
}



?>


Er zit een fout in line 3 van loginverwerken.php. Ik denk dat het iets is met de haakjes omdat ik nie echt snap waar ik die precies moet zetten.

---> Ik weet dat dit niet de beste manier is om een login te maken, het was ook maar een probeersel... Weidt dus aub niet uit naar een beter login script :)

TY

maT'

Legacy Member
PHP:
loginverwerken.php
<?php

if (isset($_POST["password"]) && $_POST["password"]=="rofl" && isset($_POST["username"]) && $_POST["username"]=="raintjah" {
echo "U bent nu ingelogt";
}

else {
echo "Wrong username/password";
}
?>
de IsSet() functie vereist een variabele tussen die haakjes, bv: if (isset($_POST['pwd'])) { ...}

raintjah`

Legacy Member
thw, het werkt!
maaruhm, kan ik dat gebruiken als login script?
Grtz.



BTW: Hoe kan ik daar verschillende waardes aan geven?

Bv: dat de username stijn ook kan inloggen? grtz.

********************** EDIT **************

http://users.skynet.be/fa008497/raintjah2/layout.html

Als ik daar zo een tekstvlak insteek, dan flipt mn layout omdat dat ding te breed is, hoe kan ik de breedte aanpassen van zo een tekstvlak..?
Grtz.

SpoBo

Legacy Member
die issets moeten er eigenlijk ni bij aangezien ge toch vergelijkt met een waarde.
tzou zoiet worden dan:
Code:
if (($_POST['password']=="rofl" && $_POST['username']=="raintjah") OR (($_POST['password']=="stijnpass" && $_POST['username']=="stijn"))) {
      echo "U bent nu ingelogt";
}
ma als ik u was zou ik eerst is een deftig loginscriptje met session bezien enzo want dees is echt wel gelimiteerd :/

|t3st

Legacy Member
neen users.skynet.be ondersteund geen php en dus oko nie dit loginscript

beetje zoeken op logische fouten is niet al teveel gevraagd hoop ik
en probeer u scripts eerst es lokaal te testen (www.google.be + easyphp voor host)

greetz Sluttie

Col.Kurtz

Legacy Member
die isset is eig. overbodig want in je validatie zijn die vars altijd "ge-set", dus enkel checken of user & pass juist zijn :)

killgore

Legacy Member
Col.Kurtz zei:
die isset is eig. overbodig want in je validatie zijn die vars altijd "ge-set", dus enkel checken of user & pass juist zijn :)
gpc vars moet je ALTIJD checken of zo bestaan.

Col.Kurtz

Legacy Member
killgore zei:
gpc vars moet je ALTIJD checken of zo bestaan.
deze 2 scriptjes hebben toch hetzelfde resultaat ?

Code:
if(isset($_POST["name"]) && $_POST["name"]!="") {
   //ok
} else {
   exit;
}

if($_POST["name"]!="") {
   //ok
} else {
   exit;
}
of niet ? :crazy:

Radiance

Legacy Member
Col.Kurtz zei:
deze 2 scriptjes hebben toch hetzelfde resultaat ?
of niet ? :crazy:

niet, die tweede geeft je dit als die waarde niet bestaat:

Notice: Undefined index: name in e:\easyphp\www\test.php on line 2

waar uw eerste gaat afbreken omda de variable ni geset is ;)

maT'

Legacy Member
Dan kan je't natuurlijk ook iets minder proper oplossen:
PHP:
if(@$_POST["name"]!="") {
   //ok
} else {
   exit;
maar soit, 't is idd beter om te checken of de variabele bestaat of niet ;) *muggezifting*
IsSet() zou altijd voorrang moeten krijgen.

killgore

Legacy Member
maT' zei:
Dan kan je't natuurlijk ook iets minder proper oplossen:
PHP:
if(@$_POST["name"]!="") {
   //ok
} else {
   exit;
maar soit, 't is idd beter om te checken of de variabele bestaat of niet ;) *muggezifting*
IsSet() zou altijd voorrang moeten krijgen.
Niks te muggezifting, correct is correct :).
zeggen dat je hier beter !empty($_POST['name']) gebruikt, DAT is muggeziften :p.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan