PHP login script

Programovacie jazyky, rady, poradňa...
firewall
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 19
Registrovaný: 23 sep 2009, 15:32
Bydlisko: Bratislava, Ružomberok

PHP login script

Príspevok od používateľa firewall »

potrbujem pomoc s php prihlasenim, ak by bol niekto ochotný tak nech napise na: ICQ: 452641624
dakujem
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: PHP login script

Príspevok od používateľa juho »

problem je v tom ze mas ten script zle napisany a nevies ze ako sa overuje ci boli poslane data cez formular
firewall
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 19
Registrovaný: 23 sep 2009, 15:32
Bydlisko: Bratislava, Ružomberok

Re: PHP login script

Príspevok od používateľa firewall »

mam dobre ten script len nieco tam chyba alebo nieco tam treba dokoncit a ja neviem ze co nakolko som zaciatocnik

Kód: Vybrať všetko

<?php
session_start();
mysql_connect("localhost", "mojemeno", "mojeheslo");
mysql_select_db("vybrata db");
mysql_query("SET NAMES cp1250");
$my_table="users";
$pole_meno="meno";
$pole_heslo="heslo";
if(!isset($_SESSION['logged'])){
  echo "<form action=\"\" method=\"post\">";
  echo "Meno: <input type=\"text\" name=\"meno\" /><br />";
  echo "Heslo: <input type=\"password\" name=\"heslo\" /><br />";
  echo "<input type=\"submit\" value=\"log\" />";
  echo "</form>";
}else{
  $meno=htmlspecialchars($_POST['meno']);
  $heslo=htmlspecialchars($_POST['heslo']);
  if(empty($meno) || empty($heslo)){
    echo "<span style=\"color: red\">Zadaj tie udaje</span>";
  }else{
    $q=mysql_query("SELECT * FROM `$my_table` WHERE `$pole_meno`='$meno' AND `$pole_heslo`='$heslo'") or die(mysql_error());
    $rows=mysql_num_rows($q);
    $a=mysql_fetch_array($q);
    if($rows==0){
      echo "Login not successful";
    }elseif($rows>1){
      echo "Niečo je fatálne doje*** v DB preto? presne takýchto účtov existuje veža :D";
    }else{
      $_SESSION['logged']=1;
      $_SESSION['meno']=$a[$pole_meno];
    }
  }
}
?>
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Re: PHP login script

Príspevok od používateľa chrono »

Testuješ tam, či si prihlásený. Ak nie si, tak zobrazíš formulár (to je zatiaľ dobré). Problém ale je to, že údaje, ktoré ti používateľ cez ten formulár odošle, kontroluješ len ak je používateľ prihlásený (ak by bol prihlásený, tak by predsa tie údaje neposielal).
firewall
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 19
Registrovaný: 23 sep 2009, 15:32
Bydlisko: Bratislava, Ružomberok

Re: PHP login script

Príspevok od používateľa firewall »

tak ze toto: if(!isset($_SESSION['logged'])){ mam otial zmazat alebo ako? :)
krasko
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 305
Registrovaný: 10 mar 2008, 5:02

Re: PHP login script

Príspevok od používateľa krasko »

Mas plny internet toho, ako to mozes robit, ako to mozes robit spravne a preco to tak robit a preco nie..

napr
http://www.phpeasystep.com/workshopview.php?id=6
http://www.roscripts.com/PHP_login_script-143.html

Ak budes mat problem s niecim konkretnym, rad pomozem.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Re: PHP login script

Príspevok od používateľa chrono »

firewall napísal:tak ze toto: if(!isset($_SESSION['logged'])){ mam otial zmazat alebo ako? :)
Nie. :) Otestuješ, či si prihlásený (tak ako teraz). Ak nie si, tak otestuješ, či cez POST prišlo meno a heslo, ak nie, tak zobrazíš formulár, inak otestuješ, či meno a heslo niečo obsahuje, či je správne... (to, čo tam máš teraz). A teda, v podstate tam pridáš ešte jednu podmienku (a trochu to poprehadzuješ).

skús niečo takéto (netestované):

Kód: Vybrať všetko

<?php
session_start();
mysql_connect("localhost", "mojemeno", "mojeheslo");
mysql_select_db("vybrata db");
mysql_query("SET NAMES cp1250");
$my_table="users";
$pole_meno="meno";
$pole_heslo="heslo";
if(!isset($_SESSION['logged'])){
	if (!isset($_POST['meno']) && !isset($_POST['heslo'])) {
		echo "<form action=\"\" method=\"post\">";
		echo "Meno: <input type=\"text\" name=\"meno\" /><br />";
		echo "Heslo: <input type=\"password\" name=\"heslo\" /><br />";
		echo "<input type=\"submit\" value=\"log\" />";
		echo "</form>";
	} else {
		$meno=htmlspecialchars($_POST['meno']);
		$heslo=htmlspecialchars($_POST['heslo']);
		if(empty($meno) || empty($heslo)){
			echo "<span style=\"color: red\">Zadaj tie udaje</span>";
		}else{
			$q=mysql_query("SELECT * FROM `$my_table` WHERE `$pole_meno`='$meno' AND `$pole_heslo`='$heslo'") or die(mysql_error());
			$rows=mysql_num_rows($q);
			$a=mysql_fetch_array($q);
			if($rows==0){
				echo "Login not successful";
			}elseif($rows>1){
				echo "Niečo je fatálne doje*** v DB preto? presne takýchto účtov existuje veľa :D";
			}else{
				$_SESSION['logged']=1;
				$_SESSION['meno']=$a[$pole_meno];
			}
		}
	}
}
?>
firewall
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 19
Registrovaný: 23 sep 2009, 15:32
Bydlisko: Bratislava, Ružomberok

Re: PHP login script

Príspevok od používateľa firewall »

díkes ide to :)
Napísať odpoveď