Autor Zpráva
reppo
Profil
robi mi problemi prihlasenie aj ked uz vyzeralo ze to bude v poriadku... mozete si to vyskusat minicity.cz... meno pre prihlasenie je 'skuska' a heslo tiez 'skuska'... na prvy pohlad vyzera ze je vsetko v poriadku ked sa prihlasite... avsak ked kliknete na nejaky clanok tak ako keby sa zmazla ta session... vyskusajte....

toto vkladam do hlavicky:

<?
session_start();
require_once ('config.php');

function iduzivatele ($nick, $heslo, $link)
{

$heslo_md5 = md5($heslo);
$vysledok=mysql_query("select id from uzivatelia where registraciadokoncena=1 and nick='".$nick."' and heslo='".$heslo_md5."'", $link);
if (mysql_num_rows($vysledok)==0)
return false;
else {
$riadok = mysql_fetch_array($vysledok);
return $riadok["id"];
}
}

if ($_SERVER["PHP_SELF"] == "/prihlasenie.php")
{
$id = iduzivatele ($_POST["nick"], $_POST["heslo"], $link);
if ($id<>0) $_SESSION["id"]=$id;
}

elseif ($SERVER["PHP_SELF"] == "/odhlasenie.php")
{
unset($_SESSION["id"]);
}

?>
---------------------------------------------------
a toto je skript pre prihlasenie
---------------------------------------------------
<?
$BudemeZobrazovat=true;
if (!empty($_POST)) // už se odeslalo
{
if (!isset($_SESSION["id"])) echo "Nick alebo heslo nesúhlasí.";
else
{
$BudemeZobrazovat=false;
echo "Prihlásený ".$_POST["nick"];
}
}
if ($BudemeZobrazovat):?>
<form method="post" action="prihlasenie.php">
<table>
<tr>
<td>nick:</td>
<td><input name="nick" value="<?echo $_POST["nick"]?>"></td>
</tr>
<td>heslo:</td>
<td><input name="heslo" type = "password"></td>
</tr>
<tr>
<td colspan="2"><input type="Submit" name="odosli" value="Prihlásiť"></td>
</tr>
</table>
</form>
<?endif;?>
<?
-----------------------------------------------
je to dost zaujimave... napr. vkladanie komentarov k clankom je povolene len po prihlasenie... skript cez tu podmienku prejde a potom namiesto nicku pri komentari vlozi len prazdny vystup....
reppo
Profil
a toto uz nechapem uplne : $_SESSION["id"] vypisuje v poriadku ale toto

$query = "SELECT nick FROM uzivatelia WHERE id='".$_SESSION["id"]."'";
$vysledok = mysql_query ($query, $link);
$row = mysql_num_rows ($vysledok);

$query10 = "INSERT INTO komentare (nick, text, cas, ip, id_cl) VALUES('".$row["nick"]."','$text', NOW() , '$REMOTE_ADDR', '$id')";

... namiesto $row['nick'] vlozi prazdnu hodnotu
reppo
Profil
pls :-(
Alphard
Profil
$row = mysql_num_rows ($vysledok);
funkce mysql_num_rows vrátí počet řádků ve výsledku, ne nick uživatele
a nevytvoří pole, proto je $row['nick'] prázdné, neexistuje a v $row by mělo být 1

avsak ked kliknete na nejaky clanok tak ako keby sa zmazla ta session
možná je to už spravené, ale mám opačný problém, nejde mi odhlásit se :-)
reppo
Profil
no odhlasenie zatial nejako nefunguje :D.. ale to sa bude riesit neskor... zmenil som funkciu myslq_num_rows a mysql_fetch_array a nepomohlo... nechapem to... ked si vsimnes dole v menu ked si prihlaseny tak zobrazuje tvoj nick.... a akonahle kliknes na clanok tak prihlaseny sice si ale uz tam nezobrazuje nick...
Alphard
Profil
$query = "SELECT nick FROM uzivatelia WHERE id='".$_SESSION["id"]."'";
id asi bude číslo, takře ho nedávej do apostrofů
$query = "SELECT nick FROM uzivatelia WHERE id=".$_SESSION["id"];
reppo
Profil
ani to nepomohlo :-(

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