Helló!
Egy nagyon alap PHP szkriptben kérném a segítségégetket. Tudom, hogy jobban/hatékonyabban/szebben lehetne megoldani a problémát pl adatbázissal, de részben nincs szükség rá, részben nem fog sokáig szolgálatot teljesíteni a script. Harmadrészt ezt sem tudom összekovácsolni rendesen
Tehát a lényeg, hogy a nevet és a jelszót a php-ba írom bele. Ha egyezik valamelyik jelszóval az user által megadott páros akkor írja ki, hogy horray, hogyha nem akkor azt, hogy menj innen! ;)
A kódom:
<?php
$usr_username = $_POST['username'];
$usr_password = $_POST['password'];
$users = array();
$passwords = array();
$users[0] = '1';
$passwords[0] = '1';
$users[1] = 'user1';
$passwords[1] = 'pass1';
for($i=0;$i<count($users);$i++){
if($users[$i] == $usr_username && $passwords[$i] == $usr_password){
echo 'hurray';
// success
} else {
// failure
echo 'menj innen!';
}
}
Nomost ez nem éppen ezt csinálja,hanem azt hogy kétszer írja ki a menj innen!-t...
Mit rontottam el?
Köszi.
- 1094 megtekintés
Hozzászólások
$gothit = false;
for($i=0;$i<count($users);$i++){
if($users[$i] == $usr_username && $passwords[$i] == $usr_password){
echo 'hurray';
$gothit=true;
}
if(!$gothit) echo "sipirc";
- A hozzászóláshoz be kell jelentkezni
Köszi, de ez sem enged be igazán. Ugyanúgy duplán kiírja a spirc!sipirc!-et bármi is az usernév/jelszó.
- A hozzászóláshoz be kell jelentkezni
az egész ciklust cseréld ki erre, ne csak a feltételt
- A hozzászóláshoz be kell jelentkezni
de minek a ciklus amikor van asszociativ tomb is?
- A hozzászóláshoz be kell jelentkezni
Így gondoltad nem?
<?php
$usr_username = $_POST['username'];
$usr_password = $_POST['password'];
$users = array();
$passwords = array();
$users[0] = '1';
$passwords[0] = '1';
$users[1] = 'user1';
$passwords[1] = 'pass1';
$gothit = false;
for($i=0;$i<count($users);$i++){
if($users[$i] == $usr_username && $passwords[$i] == $usr_password){
echo 'hurray';
$gothit=true;
}
if(!$gothit) echo "sipirc";
}
?>
- A hozzászóláshoz be kell jelentkezni
asszociativ tombok esetleg?
- A hozzászóláshoz be kell jelentkezni
Ilyet soha.
$user["user1"] = "pass1";
$user["user2"] = "pass2";
if ($user[$_POST["username"]] == $_POST["password"])
echo "\o/";
else
echo "/o\";
- A hozzászóláshoz be kell jelentkezni
if( (isset($_POST['username']) && isset($_POST['password'])) && ($user[$_POST["username"]] == $_POST["password"]) )
és így még notice-t se fogsz kapni :)
- A hozzászóláshoz be kell jelentkezni
Jaj neharagudj deeee kérlek írd la a teljes kódot mert kezdek megzavarodni a sok sormódosítástól.
Köszi.
- A hozzászóláshoz be kell jelentkezni
Az ifes sort kell erre lecserelni es ez a teljes kod amit mutattunk.
- A hozzászóláshoz be kell jelentkezni