php lozinka

1

php lozinka

offline
  • Pridružio: 18 Dec 2007
  • Poruke: 95

imam problem prijavljuje mi gresku da nemoze da pokrene query evo skripte!
<?php
//pravimo promenljive s kratkim imenima
$ime = $_POST['ime'];
$lozinka = $_POST['lozinka'];

if (!isset($_POST['ime'])&&!isset($_POST['lozinka']))
{
//posetilac mora da unese korisnicko ime i lozinku
?>

<h1>Molimo vas unesite podatke</h1>
<form method="post" action="secret.php">
<table border="1">
<tr>
<th>Ime</th>
<td><input type="text" name="ime"></td>
</tr>
<tr>
<th>Lozinka</th>
<td><input type="password" name="lozinka"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Udji">
</td>
</tr>
<table>
</form>
<?php
}
else
{
//uspostavljamo vezu sa mysql-om
$mysql = mysqli_connect('shadow','logbaza','logbaza');
if(!$mysql)
{
echo 'Baza nije povezana.';
exit;
}
//biramo odgovarajucu bazu podataka
$selected = mysqli_select_db( $mysql,'log');
if(!selected)
{
echo 'baza nije nadjena.';
exit;
}
//izvrsavamo upit da bi smo videli
//da li postoji odgovarjuci zapis
$query = "select count(*) from dozvolekorisnika where
name = '$ime' and
pass = '$lozinka'";
$result = mysqli_query ( $mysql, $query );
if(!$result)
{
echo 'Ne moze se pokrenuti query.';
exit;
}
$row = mysqli_fetch_row($result);
$count = $row[0];
if($count > 0)
{
//kombinacija imena i lozinka posetioca je tacna
echo '<h1>Dobrodosli</h1>';
}
else
{
//kombinacija imena i lozinke je netacna
echo '<h1>Lozinka ili ime nisu tacni pokusajte ponovo!</h1>';
}
}
?>



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

if (!isset($_POST['ime'])&&!isset($_POST['lozinka']))

AND (&&) operator vraca true samo ako su oba uslova ispunjena, u svim ostalim slucajevima vraca false. Dakle, ako ti je $_POST['lozinka'] setovana, a $_POST['ime'] nije, proci ce ovaj uslov (provera vraca false) i pustice te dalje.

Dalje, ovo je MySQL Lite, a ne MySQL Smile i bas lepo od tebe sto si podelio user i pass baze sa nama Mr. Green

Nakon sto se konektujes na bazu, veci deo koda ti je nepotreban. U stvari, sve je napisano zbrda-zdola... Tebi u stvari treba ovo:

<?php if (isset($_POST['udji'])) {    if (isset($_POST['ime']) and isset($_POST['lozinka'])); {       $connect = mysqli_connect('shadow','logbaza','logbaza') or die(mysqli_error());       mysqli_select_db($connect,'log') or die(mysqli_error());       $ime = $_POST['ime'];       $lozinka = $_POST['lozinka'];       $nadji = mysqli_query("SELECT `pass` FROM `dozvolekorisnika` WHERE `user` = " . $ime . "'");       $nasao = @mysqli_result($nadji,0);       if ($lozinka == $nasao) {          echo '<h1>Dobrodosli</h1>';       }       else {          echo '<h1>Lozinka ili ime nisu tacni pokusajte ponovo!</h1>';       }       mysqli_close($connect);    } } else { ?> <h1>Molimo vas unesite podatke</h1> <form method="post" action="secret.php"> <table border="1"> <tr> <th>Ime</th> <td><input type="text" name="ime"></td> </tr> <tr> <th>Lozinka</th> <td><input type="password" name="lozinka"></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="Udji" name="udji"> </td> </tr> <table> </form> <?php } ?>

Bilo bi jos bolje, da u bazi ne cuvas originalne passworde, nego hasheve (md5 i sha1 - i to bolje ovaj drugi), kako bi korisnike zastitio ako ti neko "drpi" bazu i procita passworde Smile



offline
  • Pridružio: 18 Dec 2007
  • Poruke: 95

hm probao i ovo ali nesto nije to

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Kakvu gresku ti izbacuje, ako ti uopste izbacuje gresku?

offline
  • Pridružio: 18 Dec 2007
  • Poruke: 95

ne izbacuje mi nista bela strana kad ukucam kao neku sifru

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

ajde sad jedno pitanjce: kako si nazvao ovaj fajl? I sto koristis mysqli?

offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

@serafim
Da li ovo testiras lokalno, posto si sigurno disablovao prikazivanje gresaka. Ako jeste lokalno uradi ovako
Udjes u direktorijum gdje si instlairao apache (Ako ti je apache server?) pa u folder logs i tu otvori error.log, i kopiraj nam ovdje poslednja 2/3 reda.

A mozes i ovo da probas samo sto je kod mene ovo ne radi ali eto cisto da probas >
Stavi ovo na vrh php stranice
error_reporting(E_ALL);
Kad ovo dodas ponovo testiraj stranicu...

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Koliko vidim ovaj red nema svrhe

Citat:if (isset($_POST['ime']) and isset($_POST['lozinka']));

@serafim

Ukoliko koristis php4 taj code ti nece raditi, mysqli_connect. Tu ti pukne 100%.

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

@igor86: LoL, nisam ni video da sam dodao ; na kraju Smile

offline
  • Pridružio: 18 Dec 2007
  • Poruke: 95

da testiram lokalno evo zadnjih par redova.Koristim 5.25 od danas

[Sun Mar 16 05:50:51 2008] [warn] (OS 121)The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed.
[Sun Mar 16 13:34:10 2008] [warn] (OS 121)The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed.
[Sun Mar 16 19:35:47 2008] [error] [client 79.175.78.84] PHP Notice: Undefined index: ime in H:\\Rad\\secret.php on line 3
[Sun Mar 16 19:35:47 2008] [error] [client 79.175.78.84] PHP Notice: Undefined index: lozinka in H:\\Rad\\secret.php on line 4


[Sun Mar 16 19:48:42 2008] [error] [client 79.175.78.84] PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in H:\\Rad\\secretdb.php on line 13, referer: [Link mogu videti samo ulogovani korisnici]
ovde je nesto
$nadji = mysqli_query("SELECT 'pass' FROM 'dozvolekorisnika' WHERE 'name' = " . $ime . "'");

Ko je trenutno na forumu
 

Ukupno su 957 korisnika na forumu :: 57 registrovanih, 8 sakrivenih i 892 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: acatomic, ALEXV, Centauro, ClioP1, Clouseau, coaaco, crnirocko, Dogma21, drale12, dzoni19, Fog of War, FOX, igorkozar83, jalos, Jose, kaisarevic1, kn19, kojotuzamku, Krusarac, kybonacci, Lieutenant, littlebunny, Magarac, mercedesamg, miki kv, Milan Miscevic, Milan1996, milenko crazy north, milikonst, Milos 17, Milos1389, nemkea71, Nikolajevic, nnovakis, nobutado, Oscar, ozzy, pablojepao, Polemarchoi, PrincipL, proka89, raso76, Ravac, royst33, sasatackica, sinisa31, Sićko, Srki94, Str2022, t84dar, Timočka Divizija, Tvrtko I, Velizar Laro, Vlada1389, zbazin, zokizemun, Đurđevdan