Autor Zpráva
Anonymní
Profil *
Dobrý den, mám formulář, kde odesílám pomocí metody post email a heslo


                        <form action="index.php" method="post">
                            <div class="li_box">
                                <div class="label_input">
                                    <label class="label"><?php echo $lang[9]; ?></label>
                                    <input type="text" name="email" class="input" id="login" />
                                </div>
                                <div class="label_input">
                                    <label class="label"><?php echo $lang[10]; ?></label>
                                    <input type="password" name="heslo" class="input" id="pass" />
                                </div>
                            </div>
                            <div class="submit_top"></div>      
                            <div class="submit_bottom">    
                                <div class="b_left"></div>
                                <input type="submit" class="submit_button" value="Odeslat" />                            
                                <div class="b_right"></div>  
                            </div>                           
                            <div class="remember_box">
                                <input type="checkbox" name="remember_me" class="r_check">
                                <label class="r_label"><?php echo $lang[11]; ?></label>
                            </div>
                        </form>



Když v prohlížeči prohlížím data, která prohlížeč dostane, tak je ve výpisu toto:

email:email@email.cz
heslo:heslo
remember_me:on

Nechám-li si vypsat pole post pomocí var_dump($_POST); píše mi to prázdné array
nebo echo $_POST['email']; tak Undefined index: email

Nerozumím tomu, proč?!
Someone
Profil
V tom co jsi poslal není problém, tohle mi funguje bez problému:
                        <form action="" method="post">
                            <div class="li_box">
                                <div class="label_input">
                                    <label class="label">ghj</label>
                                    <input type="text" name="email" class="input" id="login" />
                                </div>
                                <div class="label_input">
                                    <label class="label">ghj</label>
                                    <input type="password" name="heslo" class="input" id="pass" />
                                </div>
                            </div>
                            <div class="submit_top"></div>      
                            <div class="submit_bottom">    
                                <div class="b_left"></div>
                                <input type="submit" class="submit_button" value="Odeslat" />                            
                                <div class="b_right"></div>  
                            </div>                           
                            <div class="remember_box">
                                <input type="checkbox" name="remember_me" class="r_check">
                                <label class="r_label">ghj</label>
                            </div>
                        </form>
                        <?php
                        var_dump($_POST);
                        ?>
Anonymní
Profil *
Já právě problém najít vůbec nemůžu.

z index.php posílám formulář a v tom samém souboru si pole vypisuji a nic. Dost mě to zdržuje, což mě štve :(


Mě hlavně vadí, že i prohlížeč ví, že nějaká data přijal, ale php to prostě nevidí.
Someone
Profil
zkus něco jednoduchého:
<form method="POST">
Text: <input type="text" name="text" />
Text2: <input type="text" name="text2" />
<input type="submit" name="odeslat" value="Odeslat" />
</form>
<?php
var_dump($_POST);
?>
pak to postupně obohacuj o to co tam máš ty a pak zjistíš kde je chyba.
Jinak kdyžtak ukaž i ten kód, kterým se to snažíš zobrazit.
Anonymní
Profil *
<?php
var_dump($_POST);
$_POST['email'];
include '_lang/select_lang.php'; 

?>
<!DOCTYPE html>
<head>
  <meta http-equiv='content-type' content='text/html; charset=utf-8' />
  <meta http-equiv='content-language' content='cs' />
  <meta name='description' content='' />
  <meta name='keywords' content='' />
  <link rel="stylesheet" href="_css/head.css" type="text/css"> 
  <link rel="stylesheet" href="_css/main.css" type="text/css">
  <link rel="stylesheet" href="_css/login.css" type="text/css">          
  <link rel='shortcut icon' href='http://www.system.cz/favicon.ico' />


  <title><?php echo $lang[0]; ?></title>
</head>
<body>
    <div id="page">
        <div id="head">
            <div id="head_left">
                <a href="#"><div id="logo"></div></a>
            </div>
            <div id="head_right">
                <div id="menu">
                  <ul>
                    <li><a href="o-aplikaci" title="" ><?php echo $lang[1]; ?></a></li>
                    <li><a href="o-nas" title="" ><?php echo $lang[2]; ?></a></li>
                    <li><a href="faq-1" title="" ><?php echo $lang[3]; ?></a></li>
                    <li><a href="cenik" title="" ><?php echo $lang[4]; ?></a></li>
                    <li><a href="kontakt" title="" ><?php echo $lang[5]; ?></a></li>
                  </ul>
                </div>
            </div>                
        </div>
        <div id="lang_bar">
                <a href="?lang=cs" class="lang_butt">CS</a>
                <a href="?lang=en" class="lang_butt">EN</a>
        </div>
        <div id="content">
            <div id="form_wrapper">
                <div id="form_header">
                    <div id="twis_icon_header">
                    </div>
                    <div id="header_location">
                        <?php echo $lang[6]; ?>
                    </div>
                </div>
                <div class="form_login">
                    <div class="form_head">
                        <div class="tab_pass">
                            <?php echo $lang[7]; ?>
                        </div>
                        <div class="tab_else">
                            <?php echo $lang[8]; ?>
                        </div>  
                    </div>
                    <div class="form_content">
                        <div class="right_corner"></div>
                        <!--<img src="_img/zaobleny_roh_vpravo_nahore_prihlaseni.png" class="right_corner"> -->
                        <form action="index.php" method="post">
                            <div class="li_box">
                                <div class="label_input">
                                    <label class="label"><?php echo $lang[9]; ?></label>
                                    <input type="text" name="email" class="input" id="login" />
                                </div>
                                <div class="label_input">
                                    <label class="label"><?php echo $lang[10]; ?></label>
                                    <input type="password" name="heslo" class="input" id="pass" />
                                </div>
                            </div>
                            <div class="submit_top"></div>      
                            <div class="submit_bottom">    
                                <div class="b_left"></div>
                                <input type="submit" class="submit_button" value="Odeslat" />                            
                                <div class="b_right"></div>  
                            </div>                           
                            <div class="remember_box">
                                <input type="checkbox" name="remember_me" class="r_check">
                                <label class="r_label"><?php echo $lang[11]; ?></label>
                            </div>
                        </form>
                        <div id="info_under_login">
                            <p><?php echo $lang[12]; ?> <a href="registrace.php<?php echo '?lang=' . $_GET['lang']?>" class="link_vis"><?php echo $lang[13]; ?></a></p>
                            <p><a href="pripomenuti_hesla.php<?php echo '?lang=' . $_GET['lang']?>" class="link_invis"><?php echo $lang[14]; ?></a></p>
                            <p><a href="<?php echo '?lang=' . $_GET['lang']?>" class="link_invis"><?php echo $lang[15]; ?></a></p>
                        </div>
                    </div>
                </div>
            </div>
            <div id="left_side">
                <div class="info_box_wrapper">
                    <div class="h_ramecek"></div>    
                    <div class="info_box">
                        <h4>Přihlašujete se poprvé</h4>
                        <p>Po přihlášení pomocí přihlašovacích údajů, které vám byly zaslány na Vámi zadaný e-mail, se můžete
                        mrknout do helpdesku nebo si na emailu  sjednat školení.</p>
                        <p>V případě technických problémů, kontaktujte naše operátorky na tel. 123 123 123</p>
                    </div>
                    <div class="d_ramecek"></div>
                </div>                
                <div class="info_box_wrapper">
                    <div class="h_ramecek"></div>    
                    <div class="info_box">
                        <h4>Přihlašujete se poprvé</h4>
                        <p>Po přihlášení pomocí přihlašovacích údajů, které vám byly zaslány na Vámi zadaný e-mail, se můžete
                        mrknout do helpdesku nebo si na emailu  sjednat školení.</p>
                        <p>V případě technických problémů, kontaktujte naše operátorky na tel. 123 123 123</p>
                    </div>
                    <div class="d_ramecek"></div>    
                </div>
            </div>
        </div>                
    </div>
</body>
</html>


ještě soubor lang ...
<?php
$suported_languages = array(0 => 'cs', 'en');
 
if (isset($_GET['lang']) and in_array($_GET['lang'], $suported_languages)) {
        include '_lang/lang_' . $_GET['lang'] . '.php';
} else {
        header("Location: ?lang=" . $suported_languages[0]);
}    



Tak ta jednoducha varianta funguje, jdu přidávat okolní věci
<form method="POST">
Text: <input type="text" name="text" />
Text2: <input type="text" name="text2" />
<input type="submit" name="odeslat" value="Odeslat" />
</form>
<?php
var_dump($_POST);
?>



tak jsem našel problém... Je to nejspíš souborem _lang/select_lang.php, když zakomentuji jeho include, tak to běhá, ale proč, nechápu.


Vím, je tam ten header. Paráda, takže zas znovu vymyslet tu změnu jazyka
Someone
Profil
Háče kbude někde tady: Vypisuješ $_POST['email'] ještě dřív než je odeslán formulář.
Dej to pod to a dej tam tuto podmínku a přidej jméno submit tlačítku
if (isset($_POST['name_submit_tlacitka'])) {
/*Zbytek kódu, třeba i výpis toho email*/
echo $_POST['email'];
var_dump($_POST);
}
Anonymní
Profil *
pokud nedám kontrolu, tak poprvé by to mělo napsat chybu, ale podruhé by to mělo něco vypsat, protože jsem to na tu stránku poslal a tak je nastaveno. Ten var_dump si to snad ověří sám.
On to ale rozhazuje nějak ten soubor s načtením jazyka, ale stejně to nechápu :-/
Ugo
Profil
problém je v lang, action formuláře máš na soubor bez langu v GET ale lang.php potřebuje mít GET parametr jinak přesměrování header(Location) čímž se ztratí POST data, změn action formuláře - přidej tam GET parametr lang
Someone
Profil
Co obsahuje ten soubor, kterej includuješ?
Anonymní
Profil *
Aha, taková blbost... Ne, že by to nebylo logické. Dík


Someone:
$suported_languages = array(0 => 'cs', 'en');
 
if (isset($_GET['lang']) and in_array($_GET['lang'], $suported_languages)) {
        include '_lang/lang_' . $_GET['lang'] . '.php';
} else {
        header("Location: ?lang=" . $suported_languages[0]);
}    

ale už je to vyřešený

<form action="registrace.php?lang=<?php echo $_GET['lang'] ?>" method="post">
taková volovina


jinak ještě vedlejší otázka:

dělám v Netbeans. Projekt mám nastaven nan UTF-8, ale občas se mi stane, že soubor uloží v cp1250 a pak nevím, jak dostat zpátky utf-8. Když to otevřu v pspadu a dám uložit ve formátu utf-8, tak po znovuotevření (i bez meziotevření v netbeans) se soubor jeví opět jako cp1250.

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