Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML]Serwer a formularze
Forum PHP.pl > Forum > Przedszkole
Lethys
Juz mam ktorys raz z koleji problem ze skryptem, mysle ze to wina serwera. Poprostu kiedy wypelniam formularz i klikam submit to wszystko sie resetuje i nic sie nie dzieje. Jezeli nagram ten sam skrypt na innym serwerze wszystko dziala. Wiecie co moze byc nie tak ?

tutaj kod logowania:

  1. <?php
  2. include("includes/header.php");
  3. include("includes/messages.php");
  4. ?>
  5. <?php
  6.  
  7. if($Submit == "Submit")
  8. {
  9. $username = str_replace("'","''",$username);
  10. $username = str_replace("","",$username);
  11. $password = str_replace("'","''",$password);
  12. $password = str_replace("","",$password);
  13. $st = "select * from StatMember where username = '$username' and password = '$password' and account_status = 'P'";
  14. $rs = mysql_query($st) or die(mysql_error());
  15. if(mysql_num_rows($rs) > 0)
  16. {
  17. $row = mysql_fetch_array($rs);
  18. $sessionSiteId = $row['userid'];
  19. $sessionUser = $username;
  20. header("Location:changeInfo.php");
  21. }
  22. else
  23. {
  24. $msg = $M_Usernamenotfound;
  25. }
  26. }
  27.  
  28. ?>
  29. <script language="Javascript">
  30. function validate()
  31. {
  32. with(document.frm)
  33. {
  34. if(username.value == "")
  35. {
  36. alert("Please enter username");
  37. username.focus();
  38. return false;
  39. }
  40. if(password.value == "")
  41. {
  42. alert("Please enter password");
  43. password.focus();
  44. return false;
  45. }
  46. }
  47. }
  48. </SCRIPT>
  49. <FORM name=frm method="post" action="login.php" onSubmit="return validate();">
  50. <TABLE width="300" border="0" cellspacing="1" cellpadding="2" align="center">
  51. <TR>
  52. <TD colspan="2">
  53. <DIV align="center">
  54. <B><FONT face="Arial, Helvetica, sans-serif" size="2">Members Login</B>
  55. </DIV>
  56. </TD>
  57. </TR>
  58. <TR>
  59. <TD colspan="2">
  60. <DIV align="center">
  61. <?php
  62. if($msg != "")
  63. {
  64. print "<center><span class=error>$msg</span></center>";
  65. }
  66. ?>
  67. </DIV>
  68. </TD>
  69. </TR>
  70. <TR>
  71. <TD width="100">
  72. <DIV align="right"><FONT face="Arial, Helvetica, sans-serif" size="2">Username:</DIV>
  73. </TD>
  74. <TD width="200">
  75. <INPUT type="text" size=12 name="username">
  76. </TD>
  77. </TR>
  78. <TR>
  79. <TD width="100">
  80. <DIV align="right"><FONT face="Arial, Helvetica, sans-serif" size="2">Password:</DIV>
  81. </TD>
  82. <TD width="200">
  83. <INPUT type="password" size=12 name="password">
  84. </TD>
  85. </TR>
  86. <TR>
  87. <TD colspan="2">
  88. <DIV align="center">
  89. <INPUT type="submit" name="Submit" value="Submit" class="button">
  90. <INPUT type="reset" name="Reset" value="Reset" class="button">
  91. </DIV>
  92. </TD>
  93. </TR>
  94. </TABLE>
  95. </FORM>
  96. <?php
  97. include("includes/footer.php");
  98. ?>
Glarden
  1. <?php
  2. $Submit = $_POST['submit'];
  3. ?>
Lethys
@up

zrobilem tez tak ale nie dalo to zadnego efektu...
Kamson
na samym początku skryptu napisz print_r($_POST); i zobacz co sie dzieje
Lethys
@up

wyskakuje : Array ( )
Glarden
Czyli nie masz żadnych zmiennych w tej tablicy. Masz coś źle z tabliczką, ale nie chce mi się teraz szukać.
mild
Czyli nic nie jest przez POST przekazywane.
Zmien $Submit == "Submit"
na
Kod
$_SERVER['REQUEST_METHOD'] == 'POST'

JS praktycznie nie znam, ale nie widze zadnego warunku kiedy funkcja validate zwraca wartosc TRUE.
Z tego co widze, korzystasz z Register Globals (jesli jest wlaczone na serwerze, jesli nie to strona nie ma prawa dzialac)
Lepiej jest przypisywac zmienne przez $zmienna = $_POST['zmienna']
EDIT: Ehh.. niedoczytalem. Jesli na jednym serwerze dziala, na drugim nie, to na bank chodzi o Register Globals.
Dodaj u siebie $submit = $_POST['submit], $username = $_POST['username'] itp i musi dzialac.
Kamson
Cytat(mild @ 15.06.2007, 22:28:07 ) *
Czyli nic nie jest przez POST przekazywane.
Zmien $Submit == "Submit"
na
Kod
$_SERVER['REQUEST_METHOD'] == 'POST'

JS praktycznie nie znam, ale nie widze zadnego warunku kiedy funkcja validate zwraca wartosc TRUE.
Z tego co widze, korzystasz z Register Globals (jesli jest wlaczone na serwerze, jesli nie to strona nie ma prawa dzialac)
Lepiej jest przypisywac zmienne przez $zmienna = $_POST['zmienna']
EDIT: Ehh.. niedoczytalem. Jesli na jednym serwerze dziala, na drugim nie, to na bank chodzi o Register Globals.
Dodaj u siebie $submit = $_POST['submit], $username = $_POST['username'] itp i musi dzialac.


I tak nie doczytałeś dokładnie ... chłopak ma pusta tablice $_POST ..

@[Lethys]
a co masz w print_r($_SERVER);
mild
Z tego co doczytalem, to tylko jeden z problemow winksmiley.jpg
onSubmit="return validate();"
To bym wywalil i zobaczyl co bedzie.
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.