Autor Zpráva
Jurra
Profil
Zdravím, vytvořil jsem si registraci, ta funguje bez problémů. Mám problém s loginem. Když se přihlásíte na váš účet, pak se odhlásíte a pak se pokusíte znovu přihlásit napíše prohlížeč, že soubor login.php nebyl nalezen. Přihlášení funguje znovu když vypnete a zapnete prohlížeč. Mám soubor login. php tam se zpracovává ověření hesla a jména uložených v databázi. Poté se soubor přesměruje na prihlasen.php a pak když se chcete odhlásit tak na odhlasit.php. Jak jsem již zmínil, nefunguje opětovné přihlášení.
zde je odkaz, když tak se tam koukně te. www.cbsj.wz.cz
zde jsou scripty:

login.php

<?php
if (isset($_POST['odeslat'])){
require_once ('mysql_spojit.php');
function opravit_chyby ($data) {
global $dbc;
if (ini_get('magic_quotes_gpc')) {
$data = stripslashes($data);
}
return mysql_real_escape_string($data, $dbc);
}
$zpráva = NULL;
if (empty($_POST['uziv_jmeno'])) {
$u = FALSE;
$zpráva .= '<p>Nebylo zadáno uživatelské jméno!</p>';
} else {
$u = opravit_chyby($_POST['uziv_jmeno']);
}
if (empty($_POST['heslo'])) {
$h = FALSE;
$zpráva .= '<p>Nebylo zadáno heslo!</p>';
} else {
$h = opravit_chyby($_POST['heslo']);
}

if ($u && $h) {
$dotaz = "SELECT id_uzivatele, uziv_jmeno FROM data WHERE uziv_jmeno='$u' AND heslo=PASSWORD('$h')";
$výsledek = @mysql_query ($dotaz);
$řádek = @mysql_fetch_array($výsledek, MYSQL_NUM);
if ($řádek) {
session_start();
$_SESSION['uziv_jmeno'] = $řádek[1];
$_SESSION['id_uzivatele'] = $řádek[0];
header ("Location: http://"; . $_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF']). "/prihlasen.php");
exit();
} else {
$zpráva .= '<p>Zadaná data nesouhlasí !</p>';
}
mysql_close();
} else {
$zpráva .= '<p>Zkuste to znovu.</p>';
}
}
$titul_stranky = 'Přihlášení';
include ('zahlavi.inc');
if (isset($zpráva)) {
echo '<font color="red">', $zpráva, '</font>';
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset><legend>Přihlášení:</legend>
<p><b>Uživatelské jméno:</b> <input type="text" name="uziv_jmeno" size="20" maxlength="40" value="<?php if (isset($_POST['uziv_jmeno'])) echo $_POST['uziv_jmeno']; ?>" /></p>
<p><b>Heslo:</b> <input type="password" name="heslo" size="20" maxlength="20" /></p>
<div align="center"><input type="submit" name="odeslat" value="Přihlásit" /></div>
</fieldset>
</form>
<?php
include ('pata.inc');
?>

prihlasen.php


<?php
session_start();
if (true != isset($_SESSION['uziv_jmeno'])){
header ("Location: http://"; . $_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF']). "/index.php");
exit();
}
$titul_stranky = 'Úspěšné přihlášení';
include ('zahlavi.inc');
echo "Úspěšně přihlášen uživatel {$_SESSION['uziv_jmeno']}.";
include ('pata.inc');
?>

odhlasit.php


<?php
session_start();
if (true != isset($_SESSION['uziv_jmeno'])) {
header ("Location: http://". $_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF']). "/index.php");
exit();
} else {

$_SESSION = array();
session_destroy();
setcookie ('PHPSESSID', '', time()-300, '/', '', 0);
}
$titul_stranky = 'Odhlášení';
include ('zahlavi.inc');
echo "<p><b>Byl jste odhlášeni</b></p>";
include ('pata.inc');
?>


Ještě mám mysql_spojit.php a index.php a další již nepodstatné scripty.
zde je include


<!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitiona l.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cz" lang="CZ">
<head>
<style type="text/css">
<!--
a.nav { color: orange; }
a.nav:link { color: orange; }
a.nav:visited { color: yellow; }
a.nav:hover { color: orange; background-color: none; }
a.nav:active { color: yellow; }
</style>
<meta http-equiv="content-type" content="text/html; charset=windows-1250" />
<title><?php echo $titul_stranky; ?></title>
</head>
<body bgcolor="#ffff99">
<br>
<center>
<table border="0" cellspacing="0" cellpadding="4">
<tr>
<td rowspan="2" bgcolor="#000000"><img src="logo02.png" /></td>
<td width="*" bgcolor="#000000"><font color="#ffffff" size="+2" face="Courier New,
Courier, mono"><strong>VICTORIA company</strong></font></td>
<td width="10" rowspan="2" bgcolor="#000000">&nbsp;</td>
</tr>
<tr><td bgcolor="#cc9933">
<table width="100%" border="0" cellspacing="2" cellspadding="2">
<tr>
<td width="20%" align="center" bgcolor="#ffcc66"><a href="index.php">Úvod</a></td>
<td width="20%" align="center" bgcolor="#ffcc66"><a href="registruj.php">Registrace</a></td>
<td width="20%" align="center" bgcolor="#ffcc66">
<?php if (isset($_SESSION['id_uzivatele']) and (substr($_SERVER['PHP_SELF'], -10) != 'odhlasit.php')) {
echo '<a href="odhlasit.php">Odhlásit</a>';
} else {
echo '<a href="login.php">Login</a>';
}
?>
</td>

<td width="20%" align="center" bgcolor="#ffcc66" nowrap="nowrap"><a href="zmena_hesla.php">Změna hesla</a></td>
<td width="20%" align="center" bgcolor="#ffcc66"><a href="zobraz_uzivatele.php">Registrovaní</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000">&nbsp;</td>
<td bgcolor="#ffffff">



Děkuji všem co mi pomohou....
joe
Profil
Nějaké testovací přihlašovací údaje?
Jurra
Profil
Další údaje nejsou třeba je to online hra, ale potřebuji aby to fungovalo
TFSi
Profil
Jurra
Joe měl pravděpodobně na mysli něco jako login a heslo k testovacímu účtu, kde by se mohl přihlásit a otestovat problém...
joe
Profil
TFSi
Přesně tak:-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0