Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Co wpisuję źle - łączenie z serwerem i bazą
Forum PHP.pl > Forum > Przedszkole
soldiernr1
Bazę mam na friko.pl
Wydaje mi się, że wszystko wpisuje ok jednak nie działa. Niech ktoś rzuci okiem na kod i wniesie ewentualne poprawki
  1. session_start();
  2. session_register("zalogowany");
  3.  
  4. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  5.  
  6. mysql_connect("nazwa mojego serwera MySQL", "mój login MySQL", "moje hasło MySQL")or die("Nie można nawiązać połączenia z bazą");
  7. mysql_select_db("nazwa mojej bazy MySQL")or die("Wystąpił błąd podczas wybierania bazy danych");
  8.  
  9. function ShowLogin($komunikat=""){
  10. echo "$komunikat<br>";
  11. echo "<form action='index.php' method=post>";
  12. echo "Login: <input type=text name=login><br>";
  13. echo "Hasło: <input type=text name=haslo><br>";
  14. echo "<input type=submit value='Zaloguj!'>";
  15. echo "</form>";
  16. echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'>tu znajdziesz formularz</a>";
  17. }
  18.  
  19. ?>
  20. <!DOCTYPE html
  21. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  22. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  23. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  24. <head>
  25. <title>Strona główna</title>
  26. </head>
  27. <body>
  28. <?php
  29. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
  30. if($_SESSION["zalogowany"]!=1){
  31. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  32. if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
  33. echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
  34. $_SESSION["zalogowany"]=1;
  35. }
  36. else echo ShowLogin("Podano złe dane!!!");
  37. }
  38. else ShowLogin();
  39. }
  40. else{
  41. ?>
  42. Gratulacje! Zalogowałeś się pomyślnie! Możesz przejśc teraz do innych podstron, np. do <a href="stronka.php">tej</a>
  43. <br><a href='index.php?wyloguj=tak'>wyloguj się</a>
  44. <?php
  45. }
  46. ?>
  47.  
  48. </body>
  49. </html>
  50. <?php mysql_close();
patrysiek2
A co ci dokładnie nie działa?
soldiernr1
wyświetla komunikat (ten po wpisanych danych): "Nie można nawiązać połączenia z bazą". Próbowałem różnych sposobów i nic. tylko ciekawi mnie fakt, że wprowadzane dane pochodzą tylko z bazy danych MySQL natomiast nie wprowadzałem żadnych danych dotyczących serwera. Jak w takim razie strona ma się łączyć z serwerem? Nie rozumiem.
phpion
Jeśli do mysql_connect podajesz prawidłowe dane, a mimo to nie nawiązujesz połączenia to:
1. Łączysz się ze swojego lokalnego komputera ze zdalną bazą na friko.pl, a jej konfiguracja zabrania łączenia z zewnątrz.
2. Podajesz nieprawidłowe dane do połączenia smile.gif

Zamiast:
  1. die("Nie można nawiązać połączenia z bazą");

daj:

i zobacz jaki komunikat otrzymasz.
soldiernr1
Po sprawdzeniu kodu i małej poprawce wyświetla:
Access denied for user 'mójnrużytkownika'@'s4.friko.pl' (using password: YES)
dostęp wzbroniony?questionmark.gif
mikolaj51
Witaj, oznacza to że do połączenia(mysql_connect) podałeś nieprawidłowe dane.
Sprawdź czy na pewno się tam wszystko zgadza wink.gif
soldiernr1
Proszę o wyjasnienie:
Dlaczego po wpisaniu kodu:
  1. mysql_connect("localhost", "root", "")or die("Nie można nawiązać połączenia z bazą"); //połączenie z bazą danych
  2. mysql_select_db("test")or die("Wystąpił błąd podczas wybierania bazy danych");
nie łączy z bazą danych i wyświetla błąd: "Access denied for user 'mójnrużytkownika'@'s4.friko.pl' (using password: YES)" bez hasła: "Access denied for user 'mójnrużytkownika'@'s4.friko.pl' (using password: NO)".
Jeśli zmienię powyższy kod na:
  1. mysql_connect("localhost", "root", ""); //połączenie z bazą danych
(niby) łączy się z bazą. Mogę się rejestrować i nawet pokazuje informację, że użytkownik został zarejestrowany. Niestety w bazie brak dodania nowego uzytkownika (czyli mam wrażenie że się nie łączy z bazą) w związku z czym, dlaczego wyświetla komunikat, że dodał użytkownika?questionmark.gif.
Nie mam pojęcia już co źle robię...

Jest ktoś kto potrafi odpowiedziec na moje pytanie?questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif
IProSoft
Pierwsze pokazuje Ci błąd jaki występuje zatrzymując na nim skrypt, w drugim nie zobaczysz tego błędu, co nie znaczy, że łączenie przebiegło pomyślnie.
Zawsze używaj pierszej wersji.
Pokaż kod odpowiedzialny za dodawanie usera.
soldiernr1
Poradziłem już sobie. Zamykam temat.
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.