Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Warunki if problem
Forum PHP.pl > Forum > Przedszkole
harry511
Witam mam problem z warunkami w php
mam kilka warunków
  1. if(warunek){}if(warunek){}if(warunek){}if(warunek){}if(warunek){}if(warunek){}if(warunek){}if(warunek){}else{}
i jezeli zmienna spelnia ktorys z tych warunkow to uzyskuje dobry efekt ale jezeli nie spełnia to nie uzyskuje tego co podaję w else.
Z góry dziękuję za pomoc.
tehaha
za bardzo nie zrozumiałem o co Ci chodzi ale może zamiast tylu warunków lepszym rozwiązaniem dla Ciebie będzie switch()

to else co napisałeś dotyczy tylko ostatniego warunku a nie wszystkich, więc musiałbyś do każdego z nich dać else ale chyba lepsze zastosowanie będzie miało switch() gdzie ustawisz wszystkie przypadki oraz default w sytuacji kiedy żaden z przypadków nie wystąpi
lepmajster
Cytat(harry511 @ 21.06.2010, 17:22:06 ) *
Witam mam problem z warunkami w php
mam kilka warunków
  1. if(warunek){}if(warunek){}if(warunek){}if(warunek){}if(warunek){}if(warunek){}if(warunek){}if(warunek){}else{}
i jezeli zmienna spelnia ktorys z tych warunkow to uzyskuje dobry efekt ale jezeli nie spełnia to nie uzyskuje tego co podaję w else.
Z góry dziękuję za pomoc.

bo to twoje else dotyczy tylko ostatniego ifa winksmiley.jpg
Jesli juz musisz stosowac tyle if'ow to zrob tak:
  1. if(warunek) {}
  2. elseif(warunek) {}
  3. elseif(warunek) {}
  4. else { // zaden if nie spelnia warunku }
harry511
To wygląda tak mam formularz rejestracjii i gdy wpiszę w nim jakąś daną nie spełniającą moich wszystkich warunków to nie otrzymuję tego co podałem w else
lepmajster
To przeczytaj co napisalem posta wyzej winksmiley.jpg
harry511
Cytat(lepmajster @ 21.06.2010, 17:25:05 ) *
bo to twoje else dotyczy tylko ostatniego ifa winksmiley.jpg
Jesli juz musisz stosowac tyle if'ow to zrob tak:
  1. if(warunek) {}
  2. elseif(warunek) {}
  3. elseif(warunek) {}
  4. else { // zaden if nie spelnia warunku }

Zrobiłem już tak i dalej nie działa ten else ma dotyczyć każdego warunku z osobna jak i wszytkich razem
darko
<ot>Użyłbym tu wzorca strategii.</ot>
Oprzyj swoje rozwiązanie na konstrukcji switch-case.
Wicepsik
  1. if ( to == to and to == to ){
  2. // cos
  3. }else{
  4. // blad
  5. }
harry511
Tak wygląda ten skrypt rejestracji
  1. <?
  2. if(!isset($_GET['akcja'])){
  3. echo'<div class="nava"><a href="index.php">Strona główna</a> > <a href="?rejestracja">rejestracja</a></div>
  4. <div class="warr">Podczas rejestracji użytkownik wyraża
  5. zgodę na postanowienia <b>Regulaminu</b> i akceptuje wszystkie jego zasady</div>
  6. <form method="POST" action="?rejestracja&akcja=dodaj">
  7. <p class="rej">nazwa użytkownika*</p><input type="text"class="rej_in"minlength="6" name="nazwa_uzytkownika"/><br>
  8. <p class="rej">hasło*</p><input type="password"class="rej_in"name="haslo"minlength="6" /><br>
  9. <p class="rej">imię*</p><input type="text"class="rej_in"name="imie"/><br>
  10. <p class="rej">nazwisko*</p><input type="text"class="rej_in"name="nazwisko"/><br>
  11. <p class="rej">pesel*</p><input type="text"class="rej_in"name="pesel"/><br>
  12. <p class="rej">Nazwa firmy</p><input type="text"class="rej_in" name="nazwa_firmy"/>
  13. <p class="rej">NIP</p><input type="text" name="nip" class="rej_in" />
  14. <p class="rej">e-mail*</p><input type="text"class="rej_in"name="e-mail"/><br>
  15. <p class="rej">kraj*</p><input type="text"class="rej_in"name="kraj"/><br>
  16. <p class="rej">województwo*</p><input type="text"class="rej_in"name="wojewodztwo"/><br>
  17. <p class="rej">miejscowaść*</p><input type="text"class="rej_in"name="miejscowosc"/><br>
  18. <p class="rej">Kod pocztowy*</p><input type="text"class="rej_in"style="width:20px"name="kp1"maxlength="2"/><input type="text"class="rej_in"style="width:5px;margin:2px 2px;"disabled="disabled"value="-"/><input type="text"class="rej_in"style="width:30px"name="kp2"maxlength="3"/><br>
  19. <p class="rej">Ulica*</p><input type="text"class="rej_in"style="width:190px"name="ul"/><input type="text"class="rej_in"style="width:15px;margin-left:2px;"name="dom"/><input type="text"class="rej_in"style="width:15px;margin:2px 2px;"disabled="disabled"value="m"/><input type="text"class="rej_in"style="width:10px"name="mieszkanie"/><br>
  20. <p class="rej">Numer telefonu</p><input type="text"class="rej_in"name="nt"/><br>
  21. <a href="java script: window.history.go(-1)" class="btts">Powrót</a><input type="submit"class="bttsubmit"value="Zapisz"></form>';
  22. }
  23. else if($_GET['akcja']='dodaj'){
  24. function yes(){
  25. mysql_query("INSERT INTO users VALUES(0,
  26. '".$_POST['nazwa_uzytkownika']."'
  27. ,'$haslo'
  28. ,'".$_POST['pesel']."'
  29. ,'".$_POST['firma']."'
  30. ,'".$_POST['nip']."'
  31. ,'".$_POST['imie']."'
  32. ,'".$_POST['nazwisko']."'
  33. ,'".$_POST['e-mail']."'
  34. ,'".$_POST['kraj']."'
  35. ,'".$_POST['wojewodztwo']."'
  36. ,'".$_POST['miejscowosc']."'
  37. ,'$kp'
  38. ,'".$_POST['ul']."'
  39. ,'".$_POST['dom']."'
  40. ,'".$_POST['mieszkanie']."'
  41. ,'".$_POST['tel']."'
  42. ,'$ip'
  43. ,''
  44. ,''
  45. ,''
  46. )");
  47. <div class="yes"><b>Konto zostalo utworzone.</b><br>Na twój e-mail została wysłana instrukcja.</div>
  48. <a href="index.php" class="btts">Strona główna</a>';
  49. }
  50. echo'<div class="nava"><a href="index.php">Strona główna</a> > <a href="?rejestracja">rejestracja</a></div>';
  51. $pass=$_POST['haslo'];
  52. $nazwa=$_POST['nazwa_uzytkownika'];
  53. $haslo=sha1(md5($pass));
  54. echo $logi;
  55. $pesel=$_POST['pesel'];
  56. $kp=$_POST['kp1'].'-'.$_POST['kp2'];
  57. function IP_prawdziwe(){
  58.  
  59. if ($_SERVER['HTTP_X_FORWARDED_FOR']) {
  60. $ip_prawdziwe = $_SERVER['HTTP_X_FORWARDED_FOR'];
  61. }
  62. else {
  63. $ip_prawdziwe = $_SERVER['REMOTE_ADDR'];
  64. }
  65.  
  66. return $ip_prawdziwe;
  67. }
  68. $ip= IP_prawdziwe();
  69. if((!$_POST['nazwa_uzytkownika']) || (!$_POST['haslo']) || (!$_POST['imie']) || (!$_POST['nazwisko']) || (!$_POST['e-mail']) || (!$_POST['kraj']) || (!$_POST['wojewodztwo']) || (!$_POST['miejscowosc']) || (!$kp) || (!$_POST['ul']) || (!$_POST['dom'])){
  70. echo'<div class="warr"><b>Błąd </b> <br>Musisz wypełnić wszystkie pola oznaczone *</div>';
  71. }
  72. if(ereg("[0-9_]", $_POST['imie'])){
  73. echo'<div class="warr"><b>Błąd </b> <br>Wprowadzone imię zawiera błędne znaki</div>';
  74. }
  75. if(ereg("[0-9_]", $_POST['nazwisko'])){
  76. echo'<div class="warr"><b>Błąd </b> <br>Wprowadzone nazwisko zawiera błędne znaki</div>';
  77. }
  78. if(strlen($pass) <= 5 or strlen($nazwa) <= 5){
  79. echo'<div class="warr"><b>Błąd </b> <br>Nazwa użytkownika lub hasło jest za krótkie</div>';
  80. }
  81. if(mysql_num_rows(mysql_query('SELECT * FROM users WHERE login="'.$nazwa.'"')) > 0){
  82. echo'<div class="warr"><b>Błąd </b> <br>Użytkownik o takich danych już istnieje <a href="">przypomnij hasło</a></div>';
  83. }
  84. if(mysql_num_rows(mysql_query('SELECT * FROM users WHERE login="'.$_POST['e-mail'].'"')) > 0){
  85. echo'<div class="warr"><b>Błąd </b> <br>Użytkownik posiadający ten e-mail jest już zarejestrowany<a href=""> przypomnij hasło</a></div>';
  86. }
  87. if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $_POST['e-mail']))
  88. {
  89. echo'<div class="warr"><b>Błąd </b> <br>Wprowadzono błędny e-mail</div>';
  90. }
  91. if($pesel!=''){
  92. function validatePESEL($value) {
  93. if (!preg_match('/^[0-9]{11}$/',$value)) {
  94. return false;
  95. }
  96. $weights = array(1, 3, 7, 9, 1, 3, 7, 9, 1, 3);
  97. $sum = 0;
  98. for ($i = 0; $i < 10; $i++) {
  99. $sum += $weights[$i] * $value[$i];
  100. }
  101. $int = 10 - $sum % 10;
  102. $checksum = ($int == 10) ? 0 : $int;
  103. if ($checksum == $value[10]) {
  104. return true;
  105. }
  106. return false;
  107. }
  108. if(validatePESEL($pesel)){
  109. }
  110. else{
  111. echo'<div class="warr"><b>Błąd </b> <br>Wprowadzony pesel jest nieprawidłowy</div>';
  112. }
  113. }
  114. if($_POST['nip']!=''){
  115. $nip=$_POST['nip'];
  116. function CheckNIP($str)
  117. {
  118. if (strlen($str) != 10)
  119. {
  120. return false;
  121. }
  122.  
  123. $arrSteps = array(6, 5, 7, 2, 3, 4, 5, 6, 7);
  124. $intSum=0;
  125. for ($i = 0; $i < 9; $i++)
  126. {
  127. $intSum += $arrSteps[$i] * $str[$i];
  128. }
  129. $int = $intSum % 11;
  130.  
  131. $intControlNr=($int == 10)?0:$int;
  132. if ($intControlNr == $str[9])
  133. {
  134. return true;
  135. }
  136. return false;
  137. }
  138. if(CheckNIP($nip)){
  139. }
  140. else{
  141. echo'<div class="warr"><b>Błąd </b> <br>Wprowadzony nip jest nieprawidłowy</div>';
  142. }
  143. }
  144.  
  145. if($_POST['nt']!=''){
  146. $tel=$_POST['nt'];
  147. function validatePhone($phone){
  148. $phone = preg_replace("/[^0-9\(\)]/","",$phone);
  149. if(!preg_match("/[0-9]{3}/",$phone) &&
  150. !preg_match("/\([0-9]{2}\)[0-9]{7}/",$phone) &&
  151. !preg_match("/\([0-9]{2}\)[0-9]{9}/",$phone))
  152. return false;
  153. return true;
  154. }
  155. if(validatePhone($tel)){
  156. }
  157. else{
  158. echo'<div class="warr"><b>Błąd </b> <br>Wprowadzony numer telefonu jest nieprawidłowy</div>';
  159. }
  160. }
  161. if($kp!=''){
  162. function validatePostcode($postcode, $country='pl'){
  163. switch($country){
  164. case 'pl': $exp = "/[0-9]{2}\-[0-9]{3}/";
  165. break;
  166. case 'en': $exp = "/[0-9]{5}/";
  167. break;
  168. default: $exp = "/[0-9]{2}\-[0-9]{3}/";
  169. break;
  170. }
  171. if(!preg_match($exp,$postcode))
  172. return false;
  173. return true;
  174. }
  175. if(validatePostcode($kp)){
  176. }
  177. else{
  178. echo'<div class="warr"><b>Błąd </b> <br>Wprowadzony kod pocztowy jest nieprawidłowy</div>';
  179. }
  180. }
  181.  
  182.  
  183. else echo yes();
  184.  
  185. echo'<a href="java script: window.history.go(-1)" class="btts">Powrót</a>';
  186. }
  187. ?>


.
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.