Autor Zpráva
hynais
Profil
<?php
require_once ('zahrnout/config.inc');

$titul_stranky = 'Přihlásit';
include ('zahrnout/zahlavi.html');

if (isset($_POST['odeslat'])) {

require_once ('mysql_spojit.php');

if (empty($_POST['uziv_jmeno'])) {

$u = FALSE;
echo '<p><font color="red" size="+1">Nebylo zadáno uživatelské jméno!</font></p>';

} else {
$u = opravit_chyby($_POST['uziv_jmeno']);
}

if (empty($_POST['heslo'])) {
$h = FALSE;
echo '<p><font color="red"size="+1">Nebylo zadáno heslo!</font></p>';
} else {
$h = opravit_chyby($_POST['heslo']);
}

if ($u && $h) {

$dotaz = "SELECT id_uzivatele, jmeno FROM uzivatele WHERE uziv_jmeno='$u' AND heslo=PASSWORD('$h')";
$vysledek = @mysql_query ($dotaz);
$radek = mysql_fetch_array ($vysledek, MYSQL_NUM);

if ($radek) {

$_SESSION['jmeno'] = $radek[1];
$_SESSION['id_uzivatele'] = $radek[0];

ob_end_clean();

header ("Location: http://". $_SERVER['HTTP_HOST'].
dirname($_SERVER['PHP_SELF']). "/index.php");
exit();

} else {
echo '<p><font color="red" size="+1">Uživatelské jméno a heslo neodpovídají záznamům uloženým v databázi.</font></p>';
}

mysql_close();

} else {
echo '<p><font color="red" size="+1">Zkuste to znovu</font></p>';
}

}
?>
hynais
Profil
Nefunguje.. když se přihlásim, mělo by se změnit menu a na hlavní s ukázat jako pozdrav na přihlášenýho.. a ani jedno se neděje.. nevíte čím to může být?
panther
Profil
hynais
trocha slušnosti, aspoň pozdravit a více popsat svůj problém, by neškodilo.

Je sice hezké, že ukážeš kód, ale co nějaké kouzelné slovíčko?
hynais
Profil
prosím..
jinak zdravim a omlouvám se...
hynais
Profil
a jak popsat svůj problem?
no.. tak já už jsem víceméně to popsal.. blbne to přihlašování.. registrace proběhla úspěšně, uživatel se uložil do databáze ale když se přihlásim, tak se mi neukážou ty věci, které by se přihlášenému ukázat měly..
Mike8748
Profil
hynais
a kdyz se neukaze menu a pozdrav, tak co se ukaze?

a to menu jak vytvaris? kde?

mimochodem, co takhle nejaky session_start() ?
king26
Profil
na zacatek scriptu dej session_start();

EDIT: pozde :-)
hynais
Profil
Mike8748

ukáže se to co normálně nepřihlášenýmu..

to menu je v patě.. jak tam mam include ('zahrnout/pata.html');
a menu vypadá takhle:
<div id="Menu">
<a href="index.php">Domovská stránka</a><br />
<?php
if (isset($_SESSION['id_uzivatele']) AND (substr($_SERVER['PHP_SELF'], -10) !='odhlasit.php')) {
echo '<a href="odhlasit.php">Odhlásit</a><br />
<a href="zmenit_heslo.php">Obnovit heslo</a><br />
<a href="download_register.php">Stahování pro registrované</a><br />
<a href="kniha_register.php">Diskuze pro registrované</a><br />';
} else {
echo ' <a href="registruj.php">Registrace</a><br />
<a href="login.php">Přihlásit</a><br />
<a href="zapomenute_heslo.php">Zapomněli jste heslo?</a><br />';
}
?>
<a href="download.php">Download</a><br />
<a href="guestbook.php">Návštěvní kniha</a><br />
<a href="mp3.php">Mp3 ke stažení</a><br />
</div>
Jinak děkuju zkusím to session jestli to pomůže
hynais
Profil
tak session_start(); nepomohlo je to tam, kde to bylo.. :-(
hynais
Profil
tak už to funguje.. ale je to jenom když kliknu na odkaz přihlásit tak tam se mi ukáže to menu pro registrovaný.. ale když kliknu na odhlásit tak se to neodhlásí.. a na indexu zase je to co předtim..
hynais
Profil
poradíte mi někdo prosím co mam udělat aby mi všecho běželo jak má?
king26
Profil
zde ti dam muj kod: zkus ho, treba bude fungovat

session_start();
include "mysql_connect.php";

if($_GET['action'] == "logout"){

	$_SESSION = array(); 

	session_destroy();

	header("Location: index.php?al=4"); 

} 
if($_GET['action'] == login){
	$_POST['nick']=htmlspecialchars($_POST['nick']);
	$_POST['pass']=htmlspecialchars($_POST['pass']);

	$_POST['pass']=sha1($_POST['pass']);

	login($_POST['nick'],$_POST['pass']); 

} 
function login($nick,$pass){ 
    $query = mysql_query( "SELECT `id`,`nick`,`pass`,'jmeno',`prij`,`e_mail` FROM `uzivatele` WHERE (`nick`='$nick') AND (`pass`='$pass')"); 

    $rows = mysql_fetch_array($query); 

    $nick_ch=mysql_num_rows(mysql_query( "SELECT * FROM `uzivatele` WHERE (`nick`='$nick')"));
	if($nick_ch == 0) { $al="3"; }

	if(($pass == "")||($nick == "")) { $al="2"; }  else {

	if (($rows['pass'] != $pass)&&($nick_ch > 0)) { $al="1"; } }

	if(mysql_num_rows($query) > 0){ 

		 $_SESSION['user']['nick'] = $nick; 

		 $_SESSION['user']['pass'] = $pass;

		 $_SESSION['user']['id_user'] = $rows['id'];

		 $_SESSION['user']['meno'] = $rows['jmeno']; 

		 $_SESSION['user']['prij'] = $rows['prij']; 

		 $_SESSION['user']['e_mail'] = $rows['e_mail'];
		 $al = "0";

	        }

	if($al>0) { 

		header("Location: index.php?al=$al");

	} else {

		header("Location: index.php?page=mu_prehled&m=1");

	}

  }
switch($_GET['al']) {

	case "1": $mess_log = "Snaha o neautorizovaný přístup!"; break;

	case "2": $mess_log = "Musíte vyplnit uživatelské jméno a heslo!"; break;

	case "3": $mess_log = "Toto uživatelské jméno nemá nikdo z uživatelů!"; break;

	case "4": $mess_log = "Jste úspěšně odhlášen/a!"; break;

} 
hynais
Profil
king26

nefunguje mi to.. :( ale děkuju
NoName
Profil *
king26: slusna presecina...
hynais
Profil
poradí mi prosím někdo co by se s tim mým kódem dalo udělat aby fungoval dobře??
prosím..
omglol
Profil *
hynais: kod od kinga si samozřejmě musíš upravit. Tady musíš taky trošku spolupracovat. Tvoje odhlášení zřejmě nefunguje proto, že tam tu fci na odhlášení vůbec nemáš nebo si jí sem neposlal, a tak se ti na to nemůže nikdo podívat
hynais
Profil
Tady je funkce na odhlášení::
<?php
require_once ('zahrnout/config.inc');

$titul_stranky = 'Odhlásit';
include_once ('zahrnout/zahlavi.html');

if (!isset($_SESSION['jmeno'])) {

header ("Location: http://". $_SERVER['HTTP_HOST'].
dirname($_SERVER['PHP_SELF']). "/index.php");
ob_end_clean();
exit();

} else {

$_SESSION = array();
session_destroy();
setcookie (session_name(), '', time()-300, '/', '', 0);


}
echo "<h3> Uživatel úspěšně odhlášen</h3>";
include_once ('zahrnout/pata.html');
session_end();
?>
hynais
Profil
omglol

já ale nevim jak já PHP neumim...:(
hynais
Profil
a jak si mam ten kód upravit?
Toto téma je uzamčeno. Odpověď nelze zaslat.

0