Autor Zpráva
luma64
Profil
V index.php mám form na overenie užívateľa. Ten, keď sa prihlási je požiadaný na zadanie captchy.
<form>
... tu je overenie prihlásenia
</form>
<form>
... tu je overenie prihlásenia
</form>
Ak je overenie v poriadku mal by sa zobraziť ďalší form s vyžiadaním captchy
1<table>
2<tr>
3<form name="frmOverenie" action="" method="post" onsubmit="return verify()"> 
4    <td>* Opíšte overovací kód :<input type="text" name="vercode"  required="required" /></td>    
5    <td><input class="btn_over" type='submit' value='Overiť' name='overkod' /></td>
6</form>
7</tr>
8</table>
<table>
<tr>
<form name="frmOverenie" action="" method="post" onsubmit="return verify()"> 
    <td>* Opíšte overovací kód :<input type="text" name="vercode"  required="required" /></td>    
    <td><input class="btn_over" type='submit' value='Overiť' name='overkod' /></td>
</form>
</tr>
</table>
Problém je v tom, že po submite sa do postu kód nedostane..
1<?php
2 
3if(isset($_POST['overkod']))  
4{
5... sem sa kód nedostane...
6}
<?php
 
if(isset($_POST['overkod']))  
{
... sem sa kód nedostane...
}
Kcko
Profil
luma64:
Nedivil bych se, kdyby za to mohlo ono špatné HTML. mezi TR a TD značka form určitě být nemá.
luma64
Profil
Akokoľvek ten form umiestnim - nie v tabuľke, po overení užívateľa sa overovací nezobrazí ďalší overovací form. Ale POST formu sa automaticky vykoná.
Teraz je to v takomto stave:

1<form name="frmOverenie" action="" method="post" onsubmit="return verify()"> 
2* Opíšte overovací kód :<input type="text" name="vercode"  required="required" />
3<br><input class="btn_over" type='submit' value='Overiť' name='overkod' />
4</form>
5 
6 
7<?php
8// form sa teda nezobrazí ale urobí sa automatický POST !
9if(isset($_POST['overkod']))  
10{
11 .. tento post sa nevykoná
12}
13else
14{
15... bez formu a stlačeného postu sa kód dostane sem
16}
17 
18?>
<form name="frmOverenie" action="" method="post" onsubmit="return verify()"> 
* Opíšte overovací kód :<input type="text" name="vercode"  required="required" />
<br><input class="btn_over" type='submit' value='Overiť' name='overkod' />
</form>
 
 
<?php
// form sa teda nezobrazí ale urobí sa automatický POST !
if(isset($_POST['overkod']))  
{
 .. tento post sa nevykoná
}
else
{
... bez formu a stlačeného postu sa kód dostane sem
}
 
?>
Kajman
Profil
luma64:
po overení užívateľa sa overovací nezobrazí ďalší overovací form

Piště prosím jasněji. A dávejte si pozor na překlepy, v html máte vercode v php overkod.
luma64
Profil
vercode .... je to meno meno input text (tam zapíše užívateľ kód z captchy)

overkod ... je meno tlačítka submit
Kajman
Profil
Tak si vypište pomocí var_dump $_POST, co přišlo z prohlížeče. Případně se můžete podívat i do konzole prohlížeče, co říká on, že odeslal a odkud. Je možné, že javascriptová funkce verify zruší odeslání formuláře a odešle data jinou cestou.
luma64
Profil
No urobil som aj čo ste mi poradili. Problém je stále ten, že ten, že kód sa nezastaví na forme. A zachová sa ako keby bol stlačený submit so žiadnou odoslanou hodnotou.
Kajman
Profil
Ještě můžete ukázat výsledek toho var_dump, ale asi si to budeme muset debugovat sám. S tím tu nic nesvedeme.
luma64
Profil
OK, ďakujem, budem to musieť vyladiť.
anonym_
Profil *
luma64:
Můžeš zkusit vyhodit tu js verifikaci, jestli se to do te podmínky dostane. Pokud ne, hledej chybu v překlepu názvu. Pokud to bez toho js projde, pokračuje dále tím, co ta js funkce s daty děla.
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0