IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @775
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Neovládajte žalúzie ručne

Ovládanie žalúzií GrapaTEC pre nové aj namontované žalúzie! www.grapatec.com

Top novinka v O2 e-shope

Objednajte si dlhoočakávaný Samsung Galaxy S III. V e-shope za 589,63 € pausal.o2.sk

9,95 € za .COM doménu

K nej webhosting na mieru. Rýchla a jednoduchá registrácia! www.vasadomena.sk

EURO RS s.r.o.

Počítačové služby - vyplňte dotazník a hrajte o vecné ceny! Dotazník je tu: ikt2.dotazniky.com

Hliníkové profily L, U, jakle

viac ako 1000 profilov skladom od 24 h zaujímavé ceny, doprava zdarma celá SR www.tisicprofilov.sk

Chyby pri prihlasovaní cez MySQL

Zaslať odpoveď
AutorSpráva
kruzin99
Užívateľ
Užívateľ

Založený: 30.07.2008
Príspevky: 40
Bydlisko: Zlaté Moravce :)

PríspevokZaslal: Ut 25.10.11 10:21Odpovedať s citátomNávrat hore

Takze tu je prihlasovaci formular v subore index.php
kód:
<form method="post" action="/prihlasovanie.php">
<p>Užívateĺské meno:<input type="text" name="meno" /></p>
<p>Užívateľské heslo:<input type="password" name="heslo" /></p>
<input type="checkbox">Zapamätať
<input type="submit" value="Prihlásiť" />
</form>


Dalej subor na spracovanie prihlasovanie v subore: prihlasovanie.php
kód:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<?php
include 'spojenia/db.php';
session_start();
$meno = $_POST['meno'];
$_SESSION['meno'] = $_POST['meno'];
$heslo = $_POST['heslo'];
  $result = mysql_query("SELECT heslo FROM uzivatelia WHERE nick='$meno'");
$row = mysql_fetch_row($result); /
if($heslo == $row[0])

{
$_SESSION['prihlaseny'] = 'ano';
  header("Location: profil.php?$meno");
}
else
{
echo "Zadali ste neplatné meno alebo heslo!";
 header("Location: index.php?chyba");
}
?>


Teraz stranka po prihlaseni v nazvom: profil.php
kód:
<?php
session_start();
if($_SESSION['prihlaseny'] != 'ano')
   die("Nepovolený vstup! Najprv sa prihláste.");
include 'spojenia/db.php';
$meno = $_SESSION['meno'];
$id=$_SESSION['id'];
$ip = $_SERVER['REMOTE_ADDR'];
$kodik = rand(1111111,99999999);
$cas = date("d.m.Y H:i:s");
$oprava = "UPDATE uzivatelia SET kod='$kodik',ip='$ip',prihlasenie='teraz',stav='online' WHERE nick='$meno'";
$dooprava = mysql_query($oprava) or die ("Chyba!");
mysql_query("INSERT INTO prihlasenia(nick,cas) VALUES('$meno','$cas' )")
or die ("Chyba pri zapise do db.");
 $result = mysql_query("SELECT prava FROM uzivatelia, zablokovani WHERE nick='$meno'");
while($row = mysql_fetch_array($result))
 {
$prava = $row['prava'];
 }
 $result = mysql_query("SELECT udaj FROM zablokovani WHERE nick='$meno'");

while($row = mysql_fetch_array($result))
 {
$udaj = $row['udaj'];
 }
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Profil</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<a href='odhlasit.php'>Odhlásiť</a>
<?

if($udaj == '1')
 echo '<script> window.location.href="index.php?zablokovani"; </script>';

if($prava == 'admin')
 echo '<a href="/admin/index.php">Adminitrácia</a>';

?>


A na odhlasovanie: odhlasit.php
kód:
<?php
include 'spojenia/db.php';
session_start();
$meno = $_SESSION['meno'];
$cas = date("d.m.Y H:i:s");
$oprava = "UPDATE uzivatelia SET kod='0000' ,prihlasenie='$cas',stav='offline' WHERE nick='$meno'";
$dooprava = mysql_query($oprava) or die ("Chyba!");
unset($_SESSION['prihlaseny']);
unset($_SESSION['meno']);
session_destroy();
    header("Location: index.php?odhlaseny");
?>


A moj problem spociva v tom ze aj ked zadam spravne meno a heslo ma neprihlasi ale ked nezadam nic tak ma prihlasi ale ako ziadneho uzivatela ale na stranku profil.php presmeruje a zostane v stave profil.php? . Tipujem ze cely problem bude len niakou chybo z nepozornosti pri session ale stava sa mi to pri kazdom scripte ktory robim s prihlasovanim a uz som zufaly... dakujem za kazdu radu.

P.S rozmyslal som ze ci tam netreba dat kod na overovanie ci bolo zadane meno a heslo ale podla mna to vyriesi overovanie spravnosti hesla a porovnavanie mena
Zobraziť informácie o autoroviOdoslať súkromnú správu
SpiritPHP
Užívateľ
Užívateľ

Založený: 31.10.2011
Príspevky: 3

PríspevokZaslal: Pi 04.11.11 23:06Odpovedať s citátomNávrat hore

zmeň
kód:
 if($_SESSION['prihlaseny'] != 'ano') 

na
kód:
if($_SESSION['prihlaseny'] !== 'ano') 

i keď neviem či je to tá chyba ktorú hľadáš
Zobraziť informácie o autoroviOdoslať súkromnú správu
shaggy
Moderátor
Moderátor

Založený: 21.02.2006
Príspevky: 4617
Bydlisko: Bratislava

PríspevokZaslal: Pi 04.11.11 23:20Odpovedať s citátomNávrat hore

Nie, SpiritPHP, to nie je tá chyba, toto bol len taký zúfalý výkrik do tmy.

_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailZobraziť autorove WWW stránky
kruzin99
Užívateľ
Užívateľ

Založený: 30.07.2008
Príspevky: 40
Bydlisko: Zlaté Moravce :)

PríspevokZaslal: So 05.11.11 0:18Odpovedať s citátomNávrat hore

nie a spravne je to zadane. Ale dakujem aspon nieco...
Uvidime ci niekdo pride s niecim este ale ja uz neviem

Spravil som nieco taketo:
kód:
$meno = $_POST['meno'];
$heslo = $_POST['heslo'];
if (!isset($meno))
{
      header("Location: index.php?nebolo zadane meno alebo heslo!");
}


ale tiez to nepomohlo

Vyriesil som to takto:
kód:
<form method="post" action="/prihlasovanie.php">
<p><input type="text" value="Meno" name="meno"
onfocus="if(this.value=='Meno'){this.value='';}"></p>
<p><input type="password" value="heslo" name="heslo"
onfocus="if(this.value=='heslo'){this.value='';}"></p>
<input type="checkbox">Zapamätať
<input type="submit" value="Prihlásiť" />
</form>
</table>
<a href="/registracia.php">Registrácia</a>

lebo teraz ukazuje ze bolo zle zadane meno a heslo takze vyhodi chybu no ak by niekdo prisiel na riesenie toho problemu bude super zatial takto teda
Zobraziť informácie o autoroviOdoslať súkromnú správu
peco.voki
Užívateľ
Užívateľ

Založený: 05.03.2011
Príspevky: 3

PríspevokZaslal: So 26.11.11 23:02Odpovedať s citátomNávrat hore

Ahoj,

z toho co popisujes mas problem zrejme tu :

kód:
  $result = mysql_query("SELECT heslo FROM uzivatelia WHERE nick='$meno'");
$row = mysql_fetch_row($result); /
if($heslo == $row[0])


Ti to vracia prazdnu hodnotu.preto ide prihlasenie bez hesla. skus si nechat vypisat $row predtym ako ho porovnas v podmienke, alebo pouzi klasicku(aspon pre mna ) metodu

kód:

 $result = mysql_query("SELECT heslo FROM uzivatelia WHERE nick='$meno' limit 1");
if(mysql_num_rows($result)!=NULL)
{
 $row = mysql_fetch_array($result);
     if($heslo == $row["heslo"])
     {
     }
}


predpokladam ze niekde mas osetrene aby sa do $meno nedostalo to co nemas, a tiez to ze $meno je jedinecne v tabulke uzivatelia.
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd