LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: Poradna Přihlašování uživatelů

Přihlašování uživatelů 17.2.2012 20:22
Pavel Čermák

Dobrý den,
pokuším se vytvořit přihlašování uživatelů. Session mi to zapíše vše ok až na to že když se přihlásí jeden uživatel, všechny ostatní uživatelé co přojdou na web jsou braní a přihlášeni pod uživatele který se předtím přihlásil. Předem děkuji za pomoc.
Zde přikládám kód:

<?php
if (isset ($_SESSION["id"])) {
echo "<a href=\"odhlaseni.php\">Odhlásit se</a>";
}
if (isset($_POST['login']) && isset($_POST['heslo'])){
$link = mysql_connect('wm15.wedos.net', 'a12631_system', 'heslo');
mysql_select_db("d12631_system");
if (!$link) {
die('Could not connect: ' . mysql_error());
}
@$query = "SELECT * FROM uzivatele WHERE login=\"".$_POST['login']."\"";
if (!$query) {
echo "Spojenie z databázou sa nepodarilo";
}
@$result = mysql_query($query, $link);
if (!$query) {
echo "Vyber z databáze sa nepodaril";
}
$row = mysql_fetch_array($result);
if ($row['heslo'] == $_POST['heslo']){
$id=$row['id'];
$_SESSION["id"]=$row['id'];
}
}
else {
?>
<form method="POST">
<table>
<tr>
<td>Login:</td>
<td><input name="login" type="text"></td>
</tr>
<td>Heslo:</td>
<td><input name="heslo" type="password"></td>
</tr>
<tr>
<td colspan="2"><input type="Submit" name="prihlaseni" value="Prihlasit se"></td>
</tr>
</table>
</form>
<?php }
?>

Re: Přihlašování uživatelů 26.2.2012 18:41
Patrick "Kusoš" Kusebauch
Ahoj, zaprvé pár technických detailů:
1.
<?php
if (isset ($_SESSION["id"])) {
vyměň za:
 <?php
session_start()
if (isset ($_SESSION["id"])) {
2.

@$query = "SELECT * FROM uzivatele WHERE login=\"".$_POST['login']."\"";
vyměň za:

@$query = "SELECT * FROM uzivatele WHERE login=\"".mysql_real_escape_string($_POST['login'])."\"";

Nyní k tvému problému. Zdá se to dosti podivné, protože podle kódu, který předkládáš by situace měla být takové, že se ti nedaří zapsat session, nikdo se nemůže přihlásit, ať se snaží jak chce. Nicméně udělej tyto úpravy a dej vědět, jestli jsi s tím nějak pohnul.
Re: Přihlašování uživatelů 27.2.2012 17:25
Martin Chudoba

Pomineme-li, že je to totální prasečina, pak je potřeba se umět zachovat. Tj. proč by to asi tak mohlo dělat? Jako programátora Vás vždy budou zajímat hodnoty proměnných v určitou chvíli. Například když je podmínka if (isset($_POST['login']) && isset($_POST['heslo'])), pak mě zajímá co obsahuje v tu chvíli POST nebo if ($row['heslo'] == $_POST['heslo']), co obsahuje pole row. Od toho se používá DEBUG. V PHP je to malinko složitější. Pokud nechci používat složitosti, pak si aspoň dané hodnoty loguji nebo vypisuji na obraz příkazem var_dump či print_r.
Určitě jak je v odpovědi první je potřeba testovat zda-li mám vůbec nastartované sessions. Může to být na serveru přes nějaké auto start, ale určitě bych se na to nespoléhal.... session_start je jistější.


KOMENTARZE
Přihlašování uživatelů 17.2.2012 20:22 Pavel Čermák
  |- Re: Přihlašování uživatelů 26.2.2012 18:41 Patrick "Kusoš" Kusebauch
  L Re: Přihlašování uživatelů 27.2.2012 17:25 Martin Chudoba
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4875x
2. FreeBSD
Download: 9064x
3. PCLinuxOS-2010
Download: 8561x
4. alcolix
Download: 10944x
5. Onebase Linux
Download: 9659x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6241x

1. xinetd
Download: 2412x
2. RDGS
Download: 937x
3. spkg
Download: 4756x
4. LinPacker
Download: 9962x
5. VFU File Manager
Download: 3197x
6. LeftHand Mała Księgowość
Download: 7201x
7. MISU pyFotoResize
Download: 2807x
8. Lefthand CRM
Download: 3561x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3117x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz