Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 15. 2. 2012, 09:57:16
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 * |
#3 · Zasláno: 15. 2. 2012, 10:15:12 · Upravil/a: Anonymní
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 |
#4 · Zasláno: 15. 2. 2012, 10:18:43
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); ?> Jinak kdyžtak ukaž i ten kód, kterým se to snažíš zobrazit. |
||
Anonymní Profil * |
#5 · Zasláno: 15. 2. 2012, 10:24:21 · Upravil/a: Anonymní
<?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 |
#6 · Zasláno: 15. 2. 2012, 10:34:45
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 * |
#7 · Zasláno: 15. 2. 2012, 10:40:57
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 |
#8 · Zasláno: 15. 2. 2012, 10:42:50
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 |
#9 · Zasláno: 15. 2. 2012, 10:46:06
Co obsahuje ten soubor, kterej includuješ?
|
||
Anonymní Profil * |
#10 · Zasláno: 15. 2. 2012, 10:46:24 · Upravil/a: Anonymní
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"> 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. |
||
Časová prodleva: 12 let
|
0