Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Działa na localhost a na serwie już nie :/
Forum PHP.pl > Forum > Przedszkole
molesta
Witam mam taki kod php:
Plik funkcje.php :
  1. <?php 
  2.  function pol_mysql() 
  3. { 
  4.  
  5.  
  6. $db_host = 'localhost'; 
  7. $db_user = 'root'; 
  8. $db_pass = 'krasnal'; 
  9. $db_name = 'kamil'; 
  10.  
  11.  $lacz = mysql_pconnect($db_host, $db_user, $db_pass); 
  12. if(!$lacz) 
  13. { 
  14.  echo "Wystąpił błąd: Połączenie z bazą nie powiodło się."; 
  15.  exit; } 
  16.  
  17. if(!@mysql_select_db($db_name, $lacz)) { 
  18. echo '<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>'; 
  19. exit;  } 
  20.  
  21. } 
  22.  
  23. function wynik_db_do_tablicy($wynik) 
  24. { 
  25. $tablica_wyn=array(); 
  26.  
  27. for($licznik=0; $rzad=@mysql_fetch_array($wynik); $licznik++) 
  28. $tablica_wyn[$licznik]=$rzad; 
  29.  
  30. return $tablica_wyn; 
  31. } 
  32.  
  33. function html_url($url, $nazwa) 
  34. { 
  35.  ?> 
  36. <P align="center"> 
  37. <a href="<?=$url?>"><?=$nazwa?></a> 
  38. </P> 
  39. <? 
  40. } 
  41.  
  42.  function wy_form_logo() 
  43. { 
  44. ?> 
  45. <form method=post action="uzytkownicy.php?m=log"> 
  46. <TABLE ALIGN="center"> 
  47.  <tr> 
  48.  <td><b>Login:</b></td> 
  49.  <td><input type=text name="login"></td> 
  50.  <td><b>Hasło:</b></td> 
  51.  <td><INPUT type=password name="haslo"></td> 
  52.  <td align=center colspan=2> 
  53.  <INPUT TYPE="SUBMIT" VALUE="Zaloguj"></td> 
  54.  <td><a href="uzytkownicy.php?m=rejestracja">Rejestracja</a></td> 
  55.  </tr> 
  56.  </table></form> 
  57.  
  58. <? 
  59. } 
  60.  function dodaj_form() 
  61. { 
  62. ?> 
  63. <form method=post action="rejestracja.php"> 
  64. <TABLE ALIGN="center"> 
  65.  <tr> 
  66.  <td colspan=2><H1>Dodanie nowego użytkownika</H1><TD></TD></td> 
  67.  <tr> 
  68.  <td>Login:</td> 
  69.  <td><input type=text name=login></td></tr> 
  70.  <tr> 
  71.  <td>Email</td> 
  72.  <td><input type=text name=gg></td></tr> 
  73.  <tr> 
  74.  <td>Wojewódstwo</td> 
  75.  <td>
  76.  <select name="skad">
  77. <option value="Dolno-Ślaskie">Dolno-Ślaskie</option>
  78. <option value="Kujawsko-pomorskie">Kujawsko-pomorskie</option>
  79. <option value="Lubelskie">Lubelskie</option>
  80. <option value="Lubuskie">Lubuskie</option>
  81. <option value="Łódzkie">Łódzkie</option>
  82. <option value="Małopolskie">Małopolskie</option>
  83. <option value="Opolskie">Opolskie</option>
  84. <option value="Podkarpackie">Podkarpackie</option>
  85. <option value="Podlaskie">Podlaskie</option>
  86. <option value="Pomorskie">Pomorskie</option>
  87. <option value="Śląskie">Śląskie</option>
  88.  <option value="Świętokrzyskie">Świętokrzyskie</option>
  89. <option value="Warmińsko-mazurskie">Warmińsko-mazurskie</option>
  90. <option value="Wielkopolskie">Wielkopolskie</option>
  91. <option value="Zachodniopomorskie">Zachodniopomorskie</option>
  92. </select>
  93. </td></tr> 
  94.  <tr> 
  95.  <td>Płeć:</td> 
  96.  <td>Mężczyzna: <input type="radio" value="m" checked name="plec"> Kobieta: <input type="radio" name="plec" value="k"></td></tr> 
  97.  <tr> 
  98.  <td>Hasło:</td> 
  99.  <td><input type=password name=haslo></td></tr> 
  100.  <tr> 
  101.  <td>Powtórz hasło:</td> 
  102. <td><input type=password name=haslo2></td></tr> 
  103.  <tr><td colspan=2><h4>Hasło powinno składać się z nie więcej niż 12 znaków.</H4></td></TR> 
  104.  <tr> 
  105.  <td align=center colspan=2> 
  106.  <input type=submit value="Zapisz"></td></TABLE></form> 
  107. <? 
  108. html_url("index.php", "Logowanie"); 
  109. } 
  110.  function dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2) 
  111. { 
  112. if ($haslo != $haslo2) 
  113. { 
  114. echo "<H3 ALIGN=center>Hasła nie są takie same.</h3>"; 
  115. dodaj_form(); 
  116. exit; 
  117. } 
  118. $polaczenie= pol_mysql(); 
  119.  $wynik = mysql_query("select * from users where login='$login'"); 
  120. if(!$wynik) 
  121. return "Problem: zapytanie z bazy nieudane"; 
  122. if (mysql_num_rows($wynik)>0) 
  123. { 
  124. echo "<H3 ALIGN=center>Użytkownik o takiej nazwie jest już zarejestrowany, spróbuj inny login</h3>"; 
  125. dodaj_form(); 
  126. } 
  127. $czas = date("j-m-Y-G:i:s"); 
  128.  $zapytanie = "insert into users values 
  129.  ('', '$login', '$gg', '$skad', '$plec', '$haslo', '$czas')"; 
  130. $wynik=mysql_query($zapytanie); 
  131. if($wynik) 
  132. { 
  133. echo "<H3 ALIGN=center>Rejestracja zakończona pomyœlnie</h3>"; 
  134. echo "<H4 ALIGN=center><a href='index.php'>Strona Logowania</a></h4>"; 
  135. exit; 
  136. } 
  137. return true; 
  138. } 
  139.  
  140. function logowanie($login, $haslo) 
  141. { 
  142. $polaczenie= pol_mysql(); 
  143.  $wynik = mysql_query("select * from users where login='$login'"); 
  144. if(!$wynik) 
  145. return "Problem: zapytanie z bazy nieudane"; 
  146. if (mysql_num_rows($wynik)== 0) 
  147. { 
  148. echo "<H3 ALIGN=center>Niema takiego użytkownika w bazie danych</h3>"; 
  149. wy_form_logo(); 
  150. exit; 
  151. } 
  152. $tab_user = wynik_db_do_tablicy($wynik); 
  153. if ($tab_user[0]['haslo'] != $haslo) 
  154. { 
  155. echo "<H3 ALIGN=center>Niepoprawne hasło</h3>"; 
  156. wy_form_logo(); 
  157. exit; 
  158. } 
  159.  $user = $login; 
  160.  session_register("user"); 
  161.  echo "zalogowany jako: <b>" .$user."</b>, jesteœ z <b>".$tab_user[0]['skad']."</b>, data twojej rejestracji to: <b>".$tab_user[0]['data']."</b><br>"; 
  162.  echo "<a href=omnie.php>Strona o mnie</a>"; 
  163.  
  164. } 
  165. ?>

Oraz plik rejestracja.php
  1. <? 
  2.  require_once ("funkcje.php"); 
  3. session_cache_limiter('nocache'); 
  4.  
  5. if ($login && $plec && $haslo) 
  6. $wynik = dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2); 
  7. else 
  8. exit; 
  9. ?>


Problem w tym że na localhost działa ładnie i pieknie natomiast po przeniesieniu na serwer i ustawienu danych bazy na serwie
dzieje sie coś takiego
prubuje sie zarejestrowac, wysyłam z dane z formularza i pojawia sie biała strona, sprawdzam w php my admin i do bazy nic nie zostało dodane...po rejestracji powinien by wyświetlony komunikat o poprawnej rejestracji ale nic takiego sie nie dzieje...dlaczego?
Niemam pojecia co może by powodem
Prosze o pomoc!
netmare
Za leniwy jestem, żeby analizować kod, ale obstawiam, że wystąpił błąd (może połączenia z bazą), i jest wyłączone display_errors na serwerze.
molesta
połaczenie z baza napewno jest ok bo zmiana danych na niepoprawne powoduje error
netmare
  1. <?php
  2. require_once ("funkcje.php"); 
  3.  
  4. session_cache_limiter('nocache'); 
  5.  
  6.  
  7. if ($login && $plec && $haslo) 
  8. $wynik = dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2); 
  9. else 
  10. exit; 
  11. ?>




A skąd w tym pliku mają się wziąć wartości tych zmiennych $login , $plec , $haslo
Może trzeba to ubrać w $_POST, albo $_GET questionmark.gif
molesta
przypominam że na krasnalu działa poprawnie. w funkcje.php określone sa wartości
tych zmiennych 
lucca
Spróbuj:

  1. <?php
  2. require_once ("funkcje.php"); 
  3.  
  4. session_cache_limiter('nocache'); 
  5.  
  6. $login = $_POST['login']; //i analogicznie...
  7. if ($login && $plec && $haslo) 
  8. $wynik = dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2); 
  9. else 
  10. ?>
molesta
lucca...jest to samo
netmare
No na krasnalu, może i działa poprawnie ale krasnal ma inne ustawienia niż serwer. Ja tam nie widzę ustawienia zmiennej $login. Tłumaczę Ci żebyś ustawił źródło pochodzenia tych danych, nic innego chyba się nie wymyśli smile.gif

Edit zamień exit; na {echo('1');exit;} Ja zakładam że wyskoczy Ci 1 winksmiley.jpg
Cysiaczek
Jak czytam tekst "na krasnalu działa", to mam mord w oczach.
Primo:
  1. <?php
  2. ini_set('display_errors', 1);
  3. ?>


Secundo:
  1. <?php
  2. print_r($_POST);
  3. ?>
lucca
Cytat(molesta @ 7.03.2008, 16:15:43 ) *
lucca...jest to samo


Nie nie zupełnie:) Musisz zadeklarować pochodzenie zmiennej, $_GET lub $_POST, bo nigdzie tego w kodzie nie ma
molesta
to ja już teraz niewiem co mam z tym zrobi....zamotałem sie troche biggrin.gif
lucca
Cytat(lucca @ 7.03.2008, 16:13:46 ) *
Spróbuj:

  1. <?php
  2. require_once (&#092;"funkcje.php\"); 
  3.  
  4. session_cache_limiter('nocache'); 
  5.  
  6. $login = $_POST['login']; //i analogicznie...
  7. if ($login && $plec && $haslo) 
  8. $wynik = dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2); 
  9. else 
  10. ?>

Najpierw zadeklaruj zmienne! Już czwarty raz Ci tu ktoś to napisałsmile.gif

Cytat(Cysiaczek @ 7.03.2008, 16:18:27 ) *
Jak czytam tekst "na krasnalu działa", to mam mord w oczach.
Primo:
  1. <?php
  2. ini_set('display_errors', 1);
  3. ?>


Secundo:
  1. <?php
  2. print_r($_POST);
  3. ?>

Potem włącz raportowanie wszyskich błędów na serwerze. Teraz jaśniej?smile.gif
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.