21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
Fastman
Profil
Zdravím,

Potřeboval bych od vás poradit. Momentálně mám jednu kolonku do které zadám hodnotu a přes POST se odešle na druhý soubor pod neznámou $name. Potřebuji, aby se nyní neznámá $name zadávala do GET, takže jsem to udělal takhle:
$name = $_GET[jmeno];
takže to vypadá nějak takhle "xxxx.cz/druhysoubor.php?jmeno=yyy". Mám zde takovou podmínku:
if ("$name"==""){
    echo "Nebylo zadané jméno";
}else{

Problém je, že formulář mám přes POST, takže když něco odešlu, tak se odesílá jako:
print '<form action="./druhysoubor.php" method="post">';

Což má za následek, že chybí hodnota "$name" a následně to vyhodí jako "Nebylo zadané jméno". Potřebuji, aby si po odeslání nějak zapamatovalo hodnotu $name. Přes POST vše funguje, mám to jištěné pomocí

    $name = null;
if(isset($_POST['name'])) {
        $name = trim($_POST['name']);
        $_SESSION['name'] = $name;
} elseif (isset($_SESSION['name'])) {
        $name = $_SESSION['name'];

Ale momentálně bych potřeboval místo POST, GET pro 'name'.
Děkuji všem za odpovědi.
Dan Charousek
Profil
Hodnotu name z GETu můžeš uložit do skrytého inputu:
<input type="hidden" name="name" value="<?=htmlspecialchars($_GET['name'])?>">
A potom hodnotu name získávat z POSTu.
Mimo jiné proměnnou nemusíš obalovat do uvozovek: if($name == "");


Textové klíče patří do uvozovek(nebo apostrofů): $_GET['name']
Fastman
Profil
Díky, už jsem to nějak vyřešil :)

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