Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/JS] Jak połączyć PHP z JS?
Forum PHP.pl > Forum > Przedszkole
witch_king
Mam taki problem...Chciałem zrobić coś w rodzaju ksiegi gosci...
Skrypt miał być taki,ze na dole mam do wpisania: Temat,Mail,GG,Autor,Tresc i to ma zapisać do bazy....
Nie znam dobrze PHP więc zawsze jak wejde na stronę to pisze Niewszystkie pol zostały wypełnione bo skrypt zrobiony jest tak,aby ciągle zapisywał....

Chciałem spróbować z JS konkretnie onClick... Wstawiłem do formularza onClick:
  1. <input type="button" value="Dodaj..." onClick="dodajwpis()">

Zrobiłem skrypt:
  1. <script type="text/javascript">
  2. function dodajwpis() {
  3. if (!$topic || !$autor || !$tresc) {
  4. $status = "Niewszystkie pola zostały wypełnione!";
  5. }
  6. else
  7. {
  8. if ($query = mysql_query("INSERT INTO wpisy (id_users,topic,tresc,mail,gg,) VALUES ('$id_users','$topic','$tresc','$mail','$gg')"))
  9. $status = "Dodano...";
  10. }
  11. else {echo "Nie moge zapisac!";}
  12. }
  13. </script>

Ale to są funkcje z PHP,a nie z JS...

Czy istnieje jakaś możliwość,żeby to przerobić?
Chodzi mi tylko o to,żeby skrypt zapisywał dane TYLKO jeśli klikne przycisk zapisujący...

Z góry thx..
Cienki1980
Przenoszę na Przedszkole

Do tego wystarczy zrobić funkcję JS sprawdzającą czy pola są wymagane i wywoływać ją onSubmit() formularza.

W funkcji po sprawdzeniu albo pozwolić na zatwierdzenie formularza ( czyli przeładowanie strony, wywołanie skryptu PHP zapis do bazy ) lub w przypadku gdy któreś z pól jest niewypełnione nie wysyłać formularza.

  1. function sprawdzPola()
  2. {
  3. if(document.getElementById("pole1").value=='')
  4. return false;
  5. return true;
  6. }
  7. <form action="zapisz.php" method="post" onSubmit="return sprawdzPola();">
  8. <input type="text" id="pole1" name="pole1" value="" />
  9. <input type="submit" value="zapisz" />
  10. </form>
witch_king
Sry,ale troszke nie moge tego skryptu zaczaić ;/

  1. <?
  2. include ('include/header.php');
  3. include ('include/std.php');
  4.  
  5. echo '
  6. <script type="text/javascript">
  7. function sprawdzPola()
  8. {
  9.  if(document.getElementById("tresc").value=="")
  10. return false;
  11.  return true;
  12. }
  13. </script>';
  14.  
  15.  
  16. if (!$topic || !$autor || !$tresc) {
  17. $status = "Niewszystkie pola zostały wypełnione!";
  18. } 
  19. else {
  20. if ($query = mysql_query("INSERT INTO wpisy (id_users,topic,tresc,mail,gg,) VALUES ('$id_users','$topic','$tresc','$mail','$gg')")){
  21. $status = "Dodano..."; 
  22.  }
  23.  }
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30. $id_user = $_GET['userid'];
  31. $query = mysql_query("SELECT login FROM users WHERE id='$id_user';");
  32. $login = mysql_fetch_array($query);
  33.  
  34.  
  35. echo $login;
  36. $topic = $_POST['topic'];
  37. $autor = $_POST['autor'];
  38. $mail = $_POST['mail'];
  39. $gg = $_POST['gg'];
  40. $message = $_POST['message'];
  41. $tresc = $login.'jest:'.$message;
  42. $ip = $_SERVER['REMOTE_ADDR'];
  43.  
  44.  
  45.  
  46.  
  47.  
  48. <html lang="pl">
  49. <head>
  50. <title>Jest.1k.pl co myślą o Tobie inni?</title>
  51. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  52. <meta name="copyright" content="jest.in (c) 2006">
  53. <meta name="description" content="">
  54. <meta name="keywords" content="">
  55. <meta name="language" content="pl">
  56.  
  57. </head>
  58.  
  59. <body bgcolor="#F7DB64">
  60. <center><img src="css/gfx/logo.bmp"></img></center>
  61. <BR><BR><BR>
  62. <font size="6">Dodaj wpis</font><BR><BR>
  63. <form action="inne.php" method="post" onSubmit="return sprawdzPola();"><TABLE>
  64. <TR>
  65. <td>Temat:</td><td><input type="text" name="topic" maxlength="15" size="20"></td><BR>
  66. </tr><tr>
  67. <td>Autor:</td><td><input type="text" name="autor" maxlength="10" size="20"></td><BR>
  68. </tr><tr>
  69. </tr><tr>
  70. <td><font color="red">*</font>Mail:</td><td><input type="text" name="mail" maxlength="50" size="20"></td><BR>
  71. </tr><tr>
  72. </tr><tr>
  73. <td><font color="red">*</font>Gadu:</td><td><input type="text" name="gg" maxlength="10" size="20"></td><BR>
  74. </tr><tr>
  75. <td>Tresc:</td><td><TEXTAREA name="message" rows="5" cols="30">Tutaj wpisz komentarz...
  76. Uwaga!Komentarz zostanie poprzedzony zdaniem: 
  77. "[imie osoby] jest:"</textarea></td><BR>
  78. </tr><tr>
  79. <td><font color="red"><b>IP:</b></font></td><td><b>'.$ip.'</b></td><BR>
  80. </tr><tr>
  81. </tr><tr>
  82. <td><font color="red"><b>ID:</b></font></td><td><b>'.$id_user.'</b></td><BR>
  83. </tr><tr>
  84. <td><input type="reset" value="Wyczysc"></td><td><input type="button" value="Dodaj..." onClick="dodajwpis()"></td>
  85. </table><br>
  86. <b><font color="red">*</font></b>-Pola Nieobowiazkowe!<BR><BR><BR><br>
  87.  
  88. </form>
  89. <br><BR><BR><br><br>
  90. </body>
  91. </html>
  92. ';
  93. echo $status;
  94. echo $topic.'<br>';
  95. echo $autor.'<br>';
  96. echo $mail.'<br>';
  97. echo $gg.'<br>';
  98. echo $tresc.'<br>';
  99. echo $ip.'<br>';
  100. echo $id_user;
  101.  
  102.  
  103. ?>

Zrobiłem tak i w ogóle przycisk do rejestracji jakby się wciskać nie chciał...
drPayton
Zamień:
  1. <input type="button" value="Dodaj..." onClick="dodajwpis()">

Na:
  1. <input type="submit" value="Dodaj..." />

Bo w tej chwili to nie masz jak submitować tego formularza winksmiley.jpg
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.