Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rejestracja coś nie działa
Forum PHP.pl > Forum > PHP
Albinos
Mam z tego forum prosty skrypt rejestracji KLIK. Troche go przerobilem

  1. <?php
  2. mysql_connect("localhost", "root", "")or die(mysql_error());
  3. ?>
  4.  
  5.  
  6.  
  7. <form action="rejestracja.php" method="POST">
  8. Login: <input type=text name='nick'><br/>
  9. Haslo: <input type=password name='haslo'><br/>
  10. Siła: <input type=text name="sila"/><br/>
  11. RzeĽba: <input type=text name="rzezba"/><br/>
  12. Zdrowie:<input type=text name="zdrowie"/><br/>
  13. Respect:<input type=text name="respect"/><br/>
  14. <input type=submit value='Rejestruj'><br/>
  15. <input type=hidden value='1' name='send'>
  16. </form>
  17.  
  18. <?php
  19. $nick = $_POST['nick'];
  20. $haslo = md5($_POST['haslo']);
  21. $sila = $_POST['sila'];
  22. $rzezba = $_POST['rzezba'];
  23. $zdrowie = $_POST['zdrowie'];
  24. $respect = $_POST['respect'];
  25.  
  26. $dane = "INSERT INTO users (`nick`,`haslo`,`sila`,`rzezba`,`zdrowie`,`respect`) VALUES ('$nick','$haslo','$sila','$rzezba','$zdrowie','$respect')";
  27. if ($_POST["send"] == 1){
  28. if ($_POST['nick'] == null && $_POST['haslo'] == null){
  29. echo 'Prosze wprowadzic dane do formularza'.'<br/>';
  30. }else {
  31. mysql_query("$dane");
  32.  
  33. echo 'Zakonczono rejestracje';
  34. }
  35. }
  36. ?>

Jak zrobić tak że suma wpisanych: sily, rzezby, zdrowia i respectu nie mogla przekraczac 40? Dokładnie chodzi o to że jak będzie ponad 40 to żeby dane się nie zapisywały do bazy i wyskakiwał błąd zmuszający do zmieniena liczb. Tworze np (nie bedzie dokładnie)
  1. $suma= $_post["sila"]+$_post["rzeźba"]+$_post["zdrowie"]+$_post["respect"]
  2. if $suma>40
  3. echo 'Suma statystyk nie może przekraczać 40"

Ale jak zrobić jak ktoś da 41 to żeby wyskakiwal błąd i zeby się nie zapisało do bazy
IceManSpy
Cytat(Albinos @ 5.06.2011, 21:37:13 ) *
  1. if($suma > 40) {
  2. echo 'Suma statystyk nie może przekraczać 40';
  3. } else {
  4. $dane = "INSERT INTO users (`nick`,`haslo`,`sila`,`rzezba`,`zdrowie`,`respect`) VALUES ('$nick','$haslo','$sila','$rzezba','$zdrowie','$respect')";
  5. }

Takie trudne? Poza tym zabezpiecz dane wejściowe, po skrypt jest podatny na ataki.
mat-bi
Ja bym radził przy sprawdzaniu, czy wartości tablicy są puste, zrobić alternatywę, nie koniunkcję, bo można wpisać np. sam nick i przejdzie to tą walidację.
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.