phpsessid

mam problem... mam apache 1.13.xxx (nebo jak) a php432. nejak mi hapruji sessions.



if($_POST["h"] != "" && $_POST["u"] != ""):


$m = mysql_query("SELECT * FROM users WHERE ujmeno='" . $_POST["u"] . "' AND uheslo='" . $_POST["h"] . "'");

// /
if(mysql_num_rows($m) > 0):


$pole = mysql_fetch_array($m);

session_start();
$_SESSION["uid"] = $pole["id"];
$_SESSION["aktiv"] = $pole["aktiv"];
$_SESSION["ujmeno"] = $pole["ujmeno"];
$_SESSION["uheslo"] = $pole["uheslo"];
$_SESSION["jmeno"] = $pole["jmeno"];
$_SESSION["prijmeni"] = $pole["prijmeni"];
$_SESSION["mejl"] = $pole["mejl"];
$_SESSION["law_add"] = $pole["law_add"];
$_SESSION["law_info"] = $pole["law_info_add"];
$_SESSION["law_gbook"] = $pole["law_gbook"];
$_SESSION["law_koms"] = $pole["law_koms"];
$_SESSION["law_akt"] = $pole["law_akt"];
$_SESSION["superuser"] = $pole["superuser"];


$p = "<a href=\"ad_secure2.php" "\">V pořádku, pokračujte prosím.</a>";
else:
$p = "Tento uživatelský účet nebyl založen. Možná je chyba ve jménu či heslu.<br>\n<a href=\"index.php\">Zpět</a>";
endif;
///


else:
$p = "Nezadal jsi uziv.jmeno nebo heslo.<br>\n<a href=\"index.php\">Zpět</a>";
endif;


cely script funguje, pokud je kod mezi hvezdickami umrtven komentarem. jakmile jej odkryji (a jeho podminka mysql_num_rows($m) plati nebo neplati), script chcipne a vrati prazdnou stranku. uz jsem zoufalej.
<HTML>a co session_register("jmenopromenne1", "jmenopromenne2",...); ??</HTML>
Master: to snad uz neni potreba v tyhle verzi php, nebo jo?
To Master:
Skript nemám čas zkoušet (možná zítra), ale u PHP 4.1.0 a vyššího NENÍ POTŘEBA session proměnné registrovat! Od toho vzniklo superglobální pole $_SESSION. A odregistrují se normálně pomocí unset.
Jo, a pokud je používáno pole $_SESSION, už není dobré funkce session_register apod. používat. Asi tak.
nakonec jsem to musel prepsat, ale vubec a vubec nevim, v cem mohla byt chyba.
Tady je asi chyba:
$p = "<a href=\"ad_secure2.php" "\">V pořádku, pokračujte prosím.</a>";
Ty uvozovky nějak neseděj, což asi způsobilo parse error, což může mít za výstup prázdnou (resp. bílou) stránku.
secure2.php" "\">V pořádku
mělo být pravděpodobně takhle:
secure2.php"."\">V pořádku

i když nevím proč.

Těžko říct, jestli to ve zdrojáku takhle měl nebo ne - a pokud ano, a má povypínaný error_reporting, je to jasný.
hm, tam mozna chyba byt mohla, ale error_reporting jsem mel na E_ALL nebo 15, ted ani nevim, a nehlasilo to vubec nic, ani parse... jen cista page se zakl zdrojakem.
juneau: to php dela pri prazdnym vystupu a pri chybach (se safe_mode off)