Autor Zpráva
Pavka
Profil
Mám nainstalovaný PHP Triad a pak mám ještě Apache2 s PHP5.
Doposud jsem vytvořil jednu "formulářovou" aplikaci, kde se do sessions ukládají číselné hodnoty. Tato aplikace funguje bezproblémů jak na intranetu tak na internetu v PHP Triad i Apache2.

Teď vytvářím další aplikaci, kde se uživatel nejdříve musí přihlásit. Mám lištu, kde má uživatel, pokud není přihlášen, možnosti Přihlásit a Reegistrovat. Ta lišta má po přihlášení zmizet, to kontroluju pomocí $_SESSION["log_id"]. Přihlášení proběhne přes klasický přihlašovací formulář - jméno, heslo, přihlásit. Problém je v tom že mi lišta na intranetu nezmizí ani v PHP Triad ani v Apache2 s PHP5, na internetu to funguje v pořádku.

Děkuji za pomoc.
23k
Profil *
vypis si to sezeni, zda-li v te sessions neco je. Zkontroluj si zapnute / vypnute superglobalni pole, pripadne sem hod skript, resp. jeho dulezite casti.
Pavka
Profil
session_start() mám na začátku index.php, tyto další soubory jsou tam vkládány přes require.

login.php

<?php

require('./source/languages/' . $lang . '/lang_login.php');
if(!isset($coo_id) && !isset($coo_heslo) && !isset($jmeno) && !isset($heslo)){
?>
<DIV align="center">
<BR>
<SCRIPT src="./source/js/login.js"></SCRIPT>
<FORM name="login" action="index.php?id=li" method="post" onSubmit="return kontrola(this)">
<TABLE class="login_obecne" align="center">
<TR class="login_mezera">
<TD>
&nbsp;
</TD>
</TR>
<?php
if(isset($nep)){
switch($nep)
{
case "h";
echo("<TR><TD align='center'><FONT color='red'><B>Zadal jste neplatné heslo !!!</B></FONT></TD></TR>");
break;
case "j";
echo("<TR><TD align='center'><FONT color='red'><B>Zadal jste neplatné jméno !!!</B></FONT></TD></TR>");
break;
}
}
?>
<TR>
<TD class="login_polozka">
<?php
echo $login_jmeno;
?>
</TD>
<TD class="login_udaj">
<INPUT type="text" name="jmeno" maxlength="32" class="login_pole">
</TD>
</TR>
<TR class="login_mezera">
<TD>
&nbsp;
</TD>
</TR>
<TR>
<TD class="login_polozka">
<?php
echo $login_heslo;
?>
</TD>
<TD class="login_udaj">
<INPUT type="password" name="heslo" maxlength="32" class="login_pole">
</TD>
</TR>
<TR class="login_mezera">
<TD>
&nbsp;
</TD>
</TR>
<TR>
<TD>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;
<INPUT type="checkbox" name="li_autom">
<?php
echo $login_autom;
?>
</TD>
</TR>
<TR class="login_mezera">
<TD>
&nbsp;
</TD>
</TR>
<TR>
<TD>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;
<INPUT type="submit" name="ok" value="<? echo $login_prihlas; ?>">
</TD>
</TR>
<TR class="login_mezera">
<TD>
&nbsp;
</TD>
</TR>
</TABLE>
</FORM>
</DIV>
<?php
} else {

if(isset($coo_id) && isset($coo_heslo)){
$dotaz = "SELECT id, heslo FROM forum_" . $lang . "_uzivatele WHERE id=$coo_id LIMIT 1";
$vysledek = mysql_query($dotaz,$link)
or die('Dotaz na databázi se nepodařilo vykonat.<BR>Příčina chyby&nbsp&nbsp>>&nbsp&nbsp' . mysql_error());

$sloupec = mysql_fetch_row($vysledek);

$heslo = strrev($coo_heslo);
$heslo = base64_encode($heslo);
$heslo = quoted_printable_decode(base64_encode($heslo));
$heslo = strrev($heslo);

if($heslo != $sloupec[1]){
echo("<SCRIPT>setTimeout(\"location.href='index.php?id=li&nep=h'\", 1);</SCRIPT>");
}

session_register("log_id");
session_register("log_heslo");

$_SESSION["log_id"] = $sloupec[0];
$_SESSION["log_heslo"] = $heslo;

echo("<SCRIPT>setTimeout(\"location.href='index.php'\", 1);</SCRIPT>");

} else {
$dotaz = "SELECT id, heslo, jmeno FROM forum_" . $lang . "_uzivatele WHERE jmeno='$jmeno' LIMIT 1";
$vysledek = mysql_query($dotaz,$link)
or die('Dotaz na databázi se nepodařilo vykonat.<BR>Příčina chyby&nbsp&nbsp>>&nbsp&nbsp' . mysql_error());

$sloupec = mysql_fetch_row($vysledek);

$heslo = strrev($heslo);
$heslo = base64_encode($heslo);
$heslo = quoted_printable_decode(base64_encode($heslo));
$heslo = strrev($heslo);

if($jmeno != $sloupec[2]){
echo("<SCRIPT>setTimeout(\"location.href='index.php?id=li&nep=j'\", 1);</SCRIPT>");
}

if($heslo != $sloupec[1]){
echo("<SCRIPT>setTimeout(\"location.href='index.php?id=li&nep=h'\", 1);</SCRIPT>");
}

session_register("log_id");
session_register("log_heslo");

$_SESSION["log_id"] = $sloupec[0];
$_SESSION["log_heslo"] = $heslo;

echo("<SCRIPT>setTimeout(\"location.href='index.php'\", 1);</SCRIPT>");
}
}
?>


top.php

<?php

require('./source/languages/' . $lang . '/lang_top.php');
?>

<DIV align="center">
<TABLE class="top_logo" cellspacing="0" cellpadding="0">
<TR>
<TD>
<IMG src="./source/images/<? echo $img_dir; ?>/logo.gif">
</TD>
</TR>
</TABLE>
<TABLE class="top_hlavni" cellspacing="0" cellpadding="0">
<TR>
<TD>
&nbsp;
</TD>
</TR>
</TABLE>
<TABLE class="top_user" cellspacing="0" cellpadding="0">
<TR>
<TD>
<?php
if(!isset($_SESSION["log_id"]) && !isset($_SESSION["log_heslo"])){
echo("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A href='index.php?id=r'>$top_registrovat</A> -&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;- <A href='index.php?id=li'>$top_login</A>");
}
?>
</TD>
</TR>
</TABLE>
</DIV>
Pavka
Profil
Nevíte někdo?
Pavka
Profil
Zřídil jsem si DNS a když jsem na tu stránku přistupoval přes DNS adresum tak vše jelo, tak jak má. Ale jak mile jsem tam šel přes localhost, tak to zase nefungovalo.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0