Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rejestracja coś nie działa
-Albinos-
post 5.06.2011, 20:37:13
Post #1





Goście







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

Ten post edytował Albinos 5.06.2011, 20:41:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
IceManSpy
post 5.06.2011, 20:55:33
Post #2





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
mat-bi
post 5.06.2011, 21:18:24
Post #3





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


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ę.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:50