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: 3745
  • 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: 3745
  • 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: 3745
  • 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: 3745
  • 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: shadow/secretdb.php
ovde je nesto
$nadji = mysqli_query("SELECT 'pass' FROM 'dozvolekorisnika' WHERE 'name' = " . $ime . "'");

Ko je trenutno na forumu
 

Ukupno su 1369 korisnika na forumu :: 38 registrovanih, 9 sakrivenih i 1322 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: A.R.Chafee.Jr., aleksmajstor, Alibaba1981, bladesu, Bobrock1, bojank, bojankrstc, ccoogg123, cemix, crnogorac, Dimitrise93, Dorcolac, dragoljub11987, FileFinder, GenZee, havoc995, ILGromovnik, JOntra, kovinacc, Kubovac, kuntalo, kybonacci, ljuba, ljubacv, madza, maiden6657, Mercury, mile23, Misirac, opt1, pein, Seeker, shone34, Valter071, Zandar, zillbg, zzapNDjuric99, Čivi