Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Opera nie obsługuje formularza
Forum PHP.pl > Forum > Przedszkole
Mariusz_Sz
Witam wszystkich i każdego z osobna.
Mam pewien problem, mianowicie na stronce przeze mnie napisanej przesyłam zmienne metodą POST. Formularz generalnie działa pod przeglądarkami IE, FF, Google Chrome, ale nie działa pod Operą. Nie mam pomysłu dlaczego...

Z góry dziękuję za wszelakie sugestie do powyższego problemu.

Mariusz
rytek
Może pokaż ten formularz, ew. stronę, na której on się znajduje.
Mariusz_Sz
CODE
class b_form
{

function wyswietl()

{
?>

<form name="forma" action="index.php?strona=35" method="POST">
<fieldset id="formularz" style="padding: 0px; margin-bottom: 10px;"><legend>Dodaj wpis</legend>
<table>
<FORM id="sform" name="sform">
<INPUT id="stxt" name="stxt" type="TEXT" style="width: 750px; margin-left: 12px;" value="Brak obsługi JavaScript sad.gif"/>
</FORM>
<tr>
<table>
<tr>
<td>Temat</td>
<input type="hidden" name="skomunikat1" value="<?php echo $_POST['skomunikat1'];?>*" />
<input type="hidden" name="skomunikat2" value="<?php echo $_POST['skomunikat2'];?>*" />
<input type="hidden" name="skomunikat3" value="<?php echo $_POST['skomunikat3'];?>*" />
<input type="hidden" name="skomunikat4" value="<?php echo $_POST['skomunikat4'];?>#" />
<td><input type="text" name="b_temat" value="<?php echo $_POST['b_temat'];?>" style="width: 400px;" /></td>
</tr>
<tr>
<td>Treść</td>
<td><textarea rows="6" name="b_textarea" style="width: 400px;" ><?php echo $_POST['b_textarea'];?></textarea></td>
</tr>

<tr>
<td>Twoje imię:</td>
<td>
<table>
<tr>
<td><input type="text" name="b_imie" value="<?php echo $_POST['b_imie'];?>" style="width: 150px;" /></td>
<td><input type="submit" name="b_wyslij" value="ok"/></td>
</tr>
</table>
</td>
</tr>
</table>
</tr>
</table>
</fieldset>
</form>






To jest kod formularza, poniżej skrypt obsługi:
CODE
if(isset($_POST['b_wyslij']))
{
if($_POST['b_wyslij'] == "ok")
{
$w1="Twoja wiadomość powinna zawierać temat żeby mogła być wysłana.";
$w2="Twoja wiadomość powinna zawierać jakąś treść żeby mogła być wysłana.";
$w3="Nie wpisano imienia.";
$w4="Wiadomość została wysłana- już wkrótce pojawi się ona na Naszym blogu.";
$w5="Nie wpisano imienia- wiadmość wysłana jako Gość";

$ok=0;
if(empty($_POST['b_temat']))
{
$ok+=1;
}
if(empty($_POST['b_textarea']))
{
$ok+=3;
}
if(empty($_POST['b_imie']))
{
$ok+=5;
$_POST['b_imie']= "GOŚĆ";
}
if($ok==1){$_POST['skomunikat1']=$w1;$_POST['skomunikat2']=$w1;$_POST['skomunikat3']=$w1;$_POST['skomunikat4']=$w1;}
if($ok==3){$_POST['skomunikat1']=$w2;$_POST['skomunikat2']=$w2;$_POST['skomunikat3']=$w2;$_POST['skomunikat4']=$w2;}
if($ok==4){$_POST['skomunikat1']=$w1;$_POST['skomunikat2']=$w2;$_POST['skomunikat3']=$w1;$_POST['skomunikat4']=$w2;}
if($ok==5){$_POST['skomunikat1']=$w5;$_POST['skomunikat2']=$w4;$_POST['skomunikat3']=$w5;$_POST['skomunikat4']=$w4;}
if($ok==6){$_POST['skomunikat1']=$w1;$_POST['skomunikat2']=$w3;$_POST['skomunikat3']=$w1;$_POST['skomunikat4']=$w3;}
if($ok==8){$_POST['skomunikat1']=$w2;$_POST['skomunikat2']=$w3;$_POST['skomunikat3']=$w2;$_POST['skomunikat4']=$w3;}
if($ok==0){$_POST['skomunikat1']=$w4;$_POST['skomunikat2']=$w4;$_POST['skomunikat3']=$w4;$_POST['skomunikat4']=$w4;

}





$u_znaki = array("^","\\","`");
$zle_wyrazy = array("du..","hu..","ku..","d..","D...","H..","K...","D...");
$dobre_wyrazy = array("słoneczko","kwiatuszek","chmurka","motyla noga","Słoneczko","Kwiatuszek","Chmurka","Motyla noga");

$bf_temat = addslashes(strip_tags($_POST['b_temat']));
usun_znaki($bf_temat,$u_znaki);
zamien_wyrazy($bf_temat, $zle_wyrazy, $dobre_wyrazy);
dlugosc(45,$bf_temat);

$bf_textar = addslashes(strip_tags($_POST['b_textarea'])).".";
usun_znaki($bf_textar,$u_znaki);
zamien_wyrazy($bf_textar, $zle_wyrazy, $dobre_wyrazy);

$bf_textarea = enter2br($bf_textar);
$bf_imie = addslashes(strip_tags($_POST['b_imie']));
usun_znaki($bf_imie,$u_znaki);
zamien_wyrazy($bf_imie, $zle_wyrazy, $dobre_wyrazy);

if(isset($bf_temat) && isset($bf_textarea) && isset($bf_imie))
{

if(!empty($bf_temat) && !empty($bf_textarea) && !empty($bf_imie))
{
$bf_czas = time();
$bf_rekord = "$bf_temat^$bf_imie^$bf_czas^$bf_textarea\n";
dopisz_rekord_form("data/nowe.blo",$bf_rekord);
unset($_POST['b_textarea']);
unset($_POST['b_imie']);
unset($_POST['b_temat']);

unset($bf_temat);
unset($bf_textarea);
unset($bf_imie);
unset($bf_czas);
unset($bf_rekord);
unset($bf);

}
}



}
}
Mnichasso
  1. <FORM id="sform" name="sform">
  2. <INPUT id="stxt" name="stxt" type="TEXT" style="width: 750px; margin-left: 12px;" value="Brak obsługi JavaScript sad.gif"/>
  3. </FORM>


jest to konieczne questionmark.gif jezeli tak to

  1. <form name="forma" action="index.php?strona=35" method="POST">


przenieś pod ten kod i spróboj
Mariusz_Sz
CODE
<FORM id="sform" name="sform">
<INPUT id="stxt" name="stxt" type="TEXT" style="width: 750px; margin-left: 12px;" value="Brak obsługi JavaScript sad.gif"/>
</FORM>


Nie wiem czy Cie dobrze zrozumiałem, powyższy kod muszę umieścić bezpośrednio pod:
CODE
<form name="forma" action="index.php?strona=35" method="POST">


Czy tak?
Sprawdziłem- po wycięciu FORM-a "sform" wszystko działa jak potrzeba. Wolał bym to zostawić. Jeśli nie, to muszę skryptem "wyłapać" gdy klient wejdzie na stronę przy pomocy Opery. I zaproponować jakąś inną formę prezentacji informacji o formularzu.
Mnichasso
nie, nie ten kod masz umiecic nad a nie pod smile.gif

np tak
  1. function wyswietl()
  2.  
  3. {
  4. ?>
  5.  
  6.  
  7. <fieldset id="formularz" style="padding: 0px; margin-bottom: 10px;"><legend>Dodaj wpis</legend>
  8. <FORM id="sform" name="sform">
  9. <INPUT id="stxt" name="stxt" type="TEXT" style="width: 750px; margin-left: 12px;" value="Brak obsługi JavaScript sad.gif"/>
  10. </FORM>
  11. <tr>
  12. <form name="forma" action="index.php?strona=35" method="POST">
  13. <tr>
  14. <td>Temat</td>
  15. <input type="hidden" name="skomunikat1" value="<?php echo $_POST['skomunikat1'];?>*" />
  16. <input type="hidden" name="skomunikat2" value="<?php echo $_POST['skomunikat2'];?>*" />
  17. <input type="hidden" name="skomunikat3" value="<?php echo $_POST['skomunikat3'];?>*" />
  18. <input type="hidden" name="skomunikat4" value="<?php echo $_POST['skomunikat4'];?>#" />
  19. <td><input type="text" name="b_temat" value="<?php echo $_POST['b_temat'];?>" style="width: 400px;" /></td>
  20. </tr>
  21. <tr>
  22. <td>Treść</td>
  23. <td><textarea rows="6" name="b_textarea" style="width: 400px;" ><?php echo $_POST['b_textarea'];?></textarea></td>
  24. </tr>
  25.  
  26. <tr>
  27. <td>Twoje imię:</td>
  28. <td>
  29. <tr>
  30. <td><input type="text" name="b_imie" value="<?php echo $_POST['b_imie'];?>" style="width: 150px;" /></td>
  31. <td><input type="submit" name="b_wyslij" value="ok"/></td>
  32. </tr>
  33. </td>
  34. </tr>
  35. </tr>
  36. </form>
Mariusz_Sz
Dzięki za pomoc, problem rozwiązany- zmieniłem układ formularza.
Zaproponowana zmiana nie wchodziła w grę, gdyż zmieniało mi się rozmieszczenie input-ów.

Pozdrawiam
Mariusz
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.