Autor Zpráva
Esonyx
Profil *
Ahoj, mám problém s ukládáním do SESSION. Měl jsem web na webzdarma.cz a přestěhoval ho na hosting od Forpsi.cz. Na localu a na wz vše funguje. Na forpsi jsem zjistil že je vypnutá funkce register_globals takže jsem přepsal kódy nasledovně:
session_start();
$pormennaap =  $_POST[promenna];
$_SESSION["promenna"] = $promennaap;

Vše funguje ve scriptu pro login uživatele, do session se mi uloží výsledek z databáze (prezdivka, id, atd...).
Ale pokud se dostnanu k obsáhlému formuláři, který potřebuju zpracovat (úprava dat v DB) tak se mi tímto způsobem neuloží do sessions vůbec nic. Mohl bych to řešit odeslínáním proměnné ze serveru zpět k uživateli a potom zase na server. Ale přijde mi to zbytečné a nevím co stím, proto se obracím na vás.
Předem děkuji za veškerou pomoc.
AM_
Profil
Esonyx:
Ale pokud se dostnanu k obsáhlému formuláři, který potřebuju zpracovat (úprava dat v DB) tak se mi tímto způsobem neuloží do sessions vůbec nic.
Pokud to funguje jednou, bude to fungovat i podruhé - asi tam máš někde chybu.

$pormennaap =  $_POST['promenna'];
- funguje sice obojí, ale verze bez uvozovek je sémanticky špatně - přistupuješ k nedefinované konstantě PROMENNA, což bude vyvolávat chybové hlášky NOTICE. Z historických důvodů se tato konstanta implicitně převede na řetězec o stejné hodnotě, proto funguje i "špatná" verze.
Esonyx
Profil *
Máte pravdu že bez uvozovek je to špatně, ale nefunguje ani s ' ani s ", ta promenna z $_POST se mi vloží do proměnné. Ale proměnná se mi už neuloží do $_SESSION

<?php
session_start();
$nazevd = trim($_POST['nazevd']);
$nazevjazykd = trim(strtolower(strip_tags($_POST['nazevjazykd'])));
if (!empty($nazevd) && !empty($nazevjazykd)) $_SESSION['nazevfilmu4k'] = $nazevd.";".$nazevjazykd;
$_SESSION['mpaak'] = trim($_POST['mpaa']);
...


Napadlo mě jestli nemůže být něco špatně v nastavení php, ale do toho moc nevidím.
Esonyx
Profil *
Vyřešeno.
Chybu jsem měl v podmínce, kde jsem zapoměl nahradit
$promenna
za
 $_POST['promenna']


K vyřešení pomohl tento topic: Odkaz

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: