PHP login

Nevíte proč mi nejde vypsat proměnná?


if (isset($_POST['name']) && isset($_POST['password']))
{
$name = addslashes($_POST['jmeno']);
$name=mysql_escape_string($nick);
$pass = somehash($_POST['password']);

$sql = "SELECT name, password FROM registrace ";
$sql.= "WHERE (name='".$name."'";
$sql.= " AND password='".$pass."')";

$query = mysql_query($sql,$link);
$row=mysql_fetch_array($query);
}
if (mysql_num_rows($query) !== 0)
{
session_start();
$_SESSION['id'] = $row['id'];
$_SESSION['name'] = addslashes($_POST['name']);
$_SESSION['name'] = $row['name'];
$name = $_SESSION['name'];
echo "$row['name']";
$_SESSION['islooggedin'] = true;
$_SESSION['mod'] = $row['permission'];

}
else
{
exit;
echo "Wrong password!";
m
Dokonce nejde vypsat ani $_SESSION['name'];
Kde máš definovánu hodnotu proměnné $nick ?
Cely ten kod mas divny.

echo "$row['name']"; // vypisuje presne ten retezec, co je v uvozovkach
echo $row['name']; // to tam asi melo byt

$name=mysql_escape_string($nick); // to uz psal kit
$name=mysql_escape_string($name); // to tam asi melo byt

if isset($_POST['name'] ... $name = addslashes($_POST['jmeno']); // v obou pripadech melo byt asi $_POST['name']

Klidne muzes pouzit pro test vypsani:
echo '<pre>';
print_r($_SESSION);
print_r($_POST);
Ono je tam toho divného víc:

echo "$row['name']"; // nevypíše nic, protože je to chybně.
echo "$row[name]"; // tohle by fungovalo.
echo $row['name']; // a tohle také.

$name = addslashes($_POST['jmeno']); // funkci addslashes() ještě někdo používá?
$name=mysql_escape_string($name); // místo ní se používá mysql_real_escape_string() kvůli češtině.

// Správně by to mělo vypadat asi takto:
$name = mysql_real_escape_string($_POST['name']);

session_start(); // se dává obvykle už na začátek skriptu. Hlavně proto, abychom zjistili, jestli dotyčný už není přihlášen.

exit; echo "Wrong password!"; // tato hláška se nikdy nezobrazí
Zdravím, neporadí někdo kde by dal sehnat nejlépe hotový kód pro PHP login? Procházel jsem se internet, něco sehnal, ale nefunguje. Prosím o radu jestli někdo má s tímto zkušenosti. Děkuji
Nejlépe napsat si vlastní. I kdybych ti poslal svůj, tak bys ho stejně asi nemohl použít.
Nevím, zda ti to vůbec pomůže. Vadí mi tam to "ale nefunguje". Takže než hledat nějaké příklady, tak by ses měl raději ptát, proč to nefunguje a jak to opravit nebo co děláš špatně.
A navíc. Ono PHP login má vícero podob, takže je i otázka, k čemu ten login použiješ a co chceš loginovat.
login nebo zaheslování stránek jsem stáhl, uvedený příklad mi nefungoval. Věnoval jsem tomu hodně času. Potřebuji udělat login na jednu stránku či soubor na webu.

pro přehlednost tady je kod
na soubor .htpasswd

AuthUserFile /home/www/ropklub.wz.cz/clen/www/.htaccess
AuthName "Text ..."
AuthType Basic
require valid-user

další soubor je htpasswd kde je uložené jméno a heslo, např standa:xyzabc
a poslední soubor je phpinfo.php kde je napsáno toto :
<?php
phpinfo();
?>
Rozhodni se, jestli chceš dělat login přes PHP nebo přes Apache. Každý funguje jinak, přes Apache je to mnohem jednodušší.

A máš tam chybu, má tam být:
AuthUserFile /home/www/ropklub.wz.cz/clen/www/.htpasswd
Nemůžu najít tvůj phpinfo.php, podle kterého bys asi měl opravit cestu k tomu souboru. Předpokládám, že je také špatně.
já jsem to celé smáznul, zkusím to udělat znovu
soubory jsem nahrál znovu na své stránky. Soubor phpinfo.php je např. ve složce data. Při zadání jména a hesla vyskočí tabulka s přihlášením znovu.
---------------------------------------------------------------------
#Zakaz vypisu slozky
Options -Indexes

#Zaheslovani slozky
AuthUserFile /3w/wz.cz/ropklub/data/.htpasswd
AuthName "Zadej heslo"
AuthType Basic
require valid-user
--------------------------------------------------------------------
admin:MTEWszYnI5ilw
--------------------------------------------------------------------
Myslím, že webzdarma tento způsob nepodporuje.
Mohl by jsi mi napsat prosím, kde je chyba. Velice by se mi to hodilo aby měl na stránkách přihlašovací pole pro vstup do členské sekce. Předem díky.
<HTML>Ale podporuje, já to mám takhle přesně. Zkoušel jsi třeba jiný generátor hesla?</HTML>
zkoušel, ale také nešlo. Nemůže být chyba v kódu někde? heslo je admin a kod je 12345 zatím.
Vypadá to, jako kdybys měl všechno správně kromě hesla. Jenže když jsem zkoušel to tvé heslo "12345", tak jsem neprošel. Máš ten .htpasswd v adresáři data?
Tak jsi mě s tím heslem předběhl. Měl jsem ho dřív, než jsi ho sem napsal :-)
mám vše ve složce data jak .htpasswd tak .htaccess. Zkusím najít ještě nějaký jiný generátor.
Nejspíš má být:
AuthUserFile /3w/wz.cz/r/ropklub/data/.htpasswd
ano to už mám zadané také správně.

celý .htaccess je takto:

AuthUserFile /3w/wz.cz/r/ropklub/data/.htpasswd
AuthName vtup pro členy
AuthType Basic
require valid-user
Options -Indexes


nechápu v čem by mohl být problém, soubor phpinfo.php mi ve složce data funguje, ale heslo to nebere.
správně takto snad už

AuthUserFile /3w/wz.cz/r/ropklub/data/.htpasswd
AuthName "vtup pro členy"
AuthType Basic
require valid-user
Options -Indexes
To je zajímavé, udělal jsem totéž na svém webu a jede mi to. Máš tam skutečně nahraný i soubor .htpasswd s obsahem

admin:MTEWszYnI5ilw

?
tak už mi to funguje. Děkuji za podporu a čas. Už jen předělat hesla. Snad to půjde, Díky všem.
Chtěl bych se zeptat, jestli existuje i odhlášení? Přihlášení nejspíš zůstane na daném počítači pořád otevřené.
Odhlášení se dělá, jako bys přihlašoval neexistujícího uživatele. Třeba takto:
<a href="http://logout@ropklub.wz.cz">Odhlásit</a>