Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Połączenie 2 skryptów...
Forum PHP.pl > Forum > Przedszkole
Sanae
Witam,

mam kolejny problem ^^! To już jest jakaś masakra...

Mam dwa skrypty... Wysyłający do bazy mysql oraz zabezpieczający i nie wiem jak to połączyć...

Plik dodaj.php

  1.  
  2. <?php
  3. //zabezpieczenie tokenem
  4. session_start(); // start sesji
  5. $session = $_SESSION['captcha'];
  6. $image = $_POST['image'];
  7. $image = md5($image);  
  8. if ($session == $image){
  9. echo "KOD POPRAWNY";
  10. }
  11.  
  12. else{
  13. echo "<div style=\"width: 100px\">";
  14. echo "<div style=\"border: 2px solid blue; text-align: center\">";
  15. echo "<font style=\"color: red; font-family: verdana; font-size: 12px; font-weight: bold\">BŁĘDNY KOD</font></div>";
  16. echo "<div style=\"text-align:center\">";
  17. echo "<input type=\"button\" value=\"Wróć\" onClick=\"history.back()\"></div></div>";
  18. }
  19.  
  20.  
  21. //formularz wysyłanie
  22. $imie = $_POST['imie'];
  23. $nazwisko = $_POST['nazwisko'];
  24.  
  25. $email = $_POST['email'];
  26. $gg = $_POST['gg'];
  27.  
  28. $nick = $_POST['nick'];
  29. $nickforum = $_POST['nickforum'];
  30.  
  31.  
  32. $iledasz = $_POST['iledasz'];
  33. $steam = $_POST['steam'];
  34.  
  35. $wiek = $_POST['wiek'];
  36. $adm = $_POST['adm'];
  37.  
  38. $ilegrasz = $_POST['ilegrasz'];
  39. $dlaczegociebie = $_POST['dlaczegociebie'];
  40.  
  41. $serwer = $_POST['serwer'];
  42.  
  43. if($imie and $email) {
  44.  
  45. include "../../connection.php";
  46.  
  47. $ins = @mysql_query("INSERT INTO formularz SET imie='$imie', nazwisko='$nazwisko', nick='$nick', nickforum='$nickforum', email='$email', gg='$gg', iledasz='$iledasz', steam='$steam', wiek='$wiek', adm='$adm', ilegrasz='$ilegrasz', serwer='$serwer', dlaczegociebie='$dlaczegociebie'");
  48.  
  49. if($ins) echo "Zgłoszenie dodano pozytywnie. Prosimy o cierpliwość! ";
  50. else echo "Zgłoszenie nie zostało wysłane, prosimy spróbować później!";
  51.  
  52. mysql_close($connection);
  53. }
  54. ?>





a więc po kliknięciu dodaj możemy nie wpisywać tokenu i wyśle... A mi zależy by po wciśnięciu dodaj wywaliło błąd, że nie może wysłać bo nie wpisano tokenu...



Formularz:

  1.  
  2. <h2>Formularz zgłoszeniowy.</h2>
  3.  
  4. <form action="dodaj.php" method="post">
  5. Na jaki serwer chcesz złożyć podanie:<br>
  6.  
  7. <input type="radio" name="serwer" value="TP">TP<br>
  8. <input type="radio" name="serwer" value="FFA">FFA<br>
  9. <input type="radio" name="serwer" value="DiabloMod">DiabloMod<br>
  10. <input type="radio" name="serwer" value="ZombieMod">ZombieMod<br>
  11.  
  12. Imię:<br />
  13. <input type="text" name="imie" /><br />
  14.  
  15. Nazwisko:<br />
  16. <input type="text" name="nazwisko" /><br />
  17.  
  18. Nick z gry:<br />
  19. <input type="text" name="nick" /><br />
  20.  
  21. Nick na forum:<br />
  22. <input type="text" name="nickforum" /><br />
  23.  
  24. E-mail:<br />
  25. <input type="text" name="email" /><br />
  26.  
  27. GG:<br />
  28. <input type="text" name="gg" /><br />
  29.  
  30. Ile jesteś w stanie dołożyć do serwera?:<br />
  31. <input type="text" name="iledasz" /><br />
  32.  
  33. Posiadasz steam czy non-steam?:<br />
  34. <input type="text" name="steam" /><br />
  35.  
  36. Wiek:<br />
  37. <input type="text" name="wiek" /><br />
  38.  
  39. Posiadasz admina na innym serwerze?:<br />
  40. <input type="text" name="adm" /><br />
  41.  
  42.  
  43. Ile dziennie grasz na serwerze?:<br />
  44. <input type="text" name="ilegrasz" /><br />
  45.  
  46. Dlaczego mam wybrać akurat Ciebie?:<br />
  47. <textarea type="text" name="dlaczegociebie" rows="5" cols="50"> </textarea>
  48. <br />
  49. <img src="image.php" border="0"><br/>
  50. <input type="text" name="image"><br/>
  51. <input type="button" value="Odśwież" onClick="window.location.reload()">
  52. <input type="submit" value="dodaj" />





 




Może ktoś pomóc?

Odświeżam...
Mustava
Ja zrobiłbym to na javascripcie - na submicie funkcja na onclick sprawdzająca coś tam...
Sanae
Javaskrypt dla mnie jest czarną magią... Potrzebuje pomocy z tym...

Mustava
No to może:
  1. ....
  2. if ($session == $image){
  3. echo "KOD POPRAWNY";
  4. }
  5.  
  6. else{
  7. if($image=="") {$blad="NIE PODAŁEŚ KODU";} else {$blad="BŁĘDNY KOD";}
  8. echo "<div style=\"width: 100px\">";
  9. echo "<div style=\"border: 2px solid blue; text-align: center\">";
  10. echo "<font style=\"color: red; font-family: verdana; font-size: 12px; font-weight: bold\">$blad</font></div>";
  11. echo "<div style=\"text-align:center\">";
  12. echo "<input type=\"button\" value=\"Wróć\" onClick=\"history.back()\"></div></div>";
  13. }
  14. ....

Sanae
Nadal można wysłać formularz bez wpisania kodu ; )

Przeoczyłem jedną rzecz...




Kod powinien wyglądać tak:

  1.  
  2. <?php
  3. //zabezpieczenie tokenem
  4. session_start(); // start sesji
  5. $session = $_SESSION['captcha'];
  6. $image = $_POST['image'];
  7. $image = md5($image);
  8. if ($session == $image){
  9. echo "KOD POPRAWNY";
  10. }
  11.  
  12. else{
  13. if($image=="") {$blad="NIE PODAŁEŚ KODU";} else {$blad="BŁĘDNY KOD";}
  14. echo "<div style=\"width: 100px\">";
  15. echo "<div style=\"border: 2px solid blue; text-align: center\">";
  16. echo "<font style=\"color: red; font-family: verdana; font-size: 12px; font-weight:
  17.  
  18. bold\">$blad</font></div>";
  19. echo "<div style=\"text-align:center\">";
  20. echo "<input type=\"button\" value=\"Wróć\" onClick=\"history.back()\"></div></div>";
  21. }
  22.  
  23.  
  24. //formularz wysyłanie
  25. $imie = $_POST['imie'];
  26. $nazwisko = $_POST['nazwisko'];
  27.  
  28. $email = $_POST['email'];
  29. $gg = $_POST['gg'];
  30.  
  31. $nick = $_POST['nick'];
  32. $nickforum = $_POST['nickforum'];
  33.  
  34.  
  35. $iledasz = $_POST['iledasz'];
  36. $steam = $_POST['steam'];
  37.  
  38. $wiek = $_POST['wiek'];
  39. $adm = $_POST['adm'];
  40.  
  41. $ilegrasz = $_POST['ilegrasz'];
  42. $dlaczegociebie = $_POST['dlaczegociebie'];
  43.  
  44. $serwer = $_POST['serwer'];
  45.  
  46. if($imie and $email and $session == $image) {
  47.  
  48. include "../../connection.php";
  49.  
  50. $ins = @mysql_query("INSERT INTO formularz SET imie='$imie', nazwisko='$nazwisko',
  51.  
  52. nick='$nick', nickforum='$nickforum', email='$email', gg='$gg', iledasz='$iledasz',
  53.  
  54. steam='$steam', wiek='$wiek', adm='$adm', ilegrasz='$ilegrasz', serwer='$serwer',
  55.  
  56. dlaczegociebie='$dlaczegociebie'");
  57.  
  58. if($ins) echo "Zgłoszenie dodano pozytywnie. Prosimy o cierpliwość! ";
  59. else echo "Zgłoszenie nie zostało wysłane, prosimy spróbować później!";
  60.  
  61. mysql_close($connection);
  62. }
  63. ?>



motylo
Najprościej po:
  1. echo "<input type=\"button\" value=\"Wróć\" onClick=\"history.back()\"></div></div>";

wstaw
  1. die();
lub


Lub też przerzucić całość dodawania do bazy do miejsca gdzie masz
  1. echo "KOD POPRAWNY";
Tam masz sprawdzanie poprawności klucza i wtedy możesz dodać, w innym miejscu nie ma sprawdzania tej poprawności.
Sanae
Ale po co ? Działa jak należy... Jeśli chcę dodać i nie wpiszę kodu to nie doda, wpiszę, doda... Po co jeszcze to komplikować?
motylo
Mój błąd, nie zauważyłem ponownego sprawdzenia warunku $session==$image
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.