Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Problem z połączeniem - błąd kodu?
Forum PHP.pl > Forum > Przedszkole
Magic Hereos
  1. <html>
  2.    <body>
  3.        <? // Zaczecie PHP
  4.        $login = $_POST['login'];
  5.        $haslo = $_POST['haslo'];
  6.        if (!$login || !$haslo)
  7.        {
  8.        echo 'Nie podano loginu, lub hasla !';
  9.        exit;
  10.        }
  11.        if (!get_magic_quotes_gpc())
  12.        {
  13.        $login = addslashes($login);
  14.        $haslo = addslashes($haslo);
  15.        }
  16.        $db new mysqli('mysql.ugu.pl', 'BAZA', 'PASSWORD', 'users');
  17.        if (mysqli_connect_errno())
  18.        {
  19.        echo 'Blad. Sprobuj pozniej !';
  20.        exit;
  21.        }
  22.        $db->select_db(users);
  23.        $zapytanie = "insert into users values ('""', '".$login."', '".$haslo."')";
  24.        $wynik = $db->query($zapytanie);
  25.        if ($wynik)
  26.        {
  27.        echo 'Zostales dodany do bazy danych ! Na stronie glowniej, pojawi sie, jesli tylko zostanie dodana mozliwosc logowania !';
  28.        exit;
  29.        }
  30.        $wynik->free();
  31.        echo '&copy By Magic !<br>';
  32.        ?>
  33.    </body>
  34. </html>

Gdzie tu jest błąd? Strona wyswietla się biała sadsmiley02.gif
Nawet reklamy nie ma sciana.gif
EDIT.
Kod
Parse error: syntax err in /virtual/m/a/magic-php.ugu.pl/rejstruj.php on line 16

Teraz to zaczęło wyskakiwać : |
Foxx
Linia 16.
  1. <?php
  2. $db new mysqli('mysql.ugu.pl', 'BAZA', 'PASSWORD', 'users'); // jest
  3.  
  4. $db = new mysqli('mysql.ugu.pl', 'BAZA', 'PASSWORD', 'users'); // powinno być
  5. ?>
Magic Hereos
Teraz :
Kod
[b]Parse error[/b]:  syntax err in [b]/virtual/m/a/magic-php.ugu.pl/rejstruj.php[/b] on line [b]23

wstydnis.gif
Klinknąłem na 'Pomógł' czarodziej.gif
[/b]
decha-design
  1. <?php
  2. $db->select_db(users);
  3. ?>
to nie ma prawa zadziałać ... jak już to
  1. <?php
  2. $db->select_db('users');
  3. ?>
funkcja przyjmuje stringa, nie cholera wie co ...
Foxx
  1. <?php
  2. $zapytanie = "insert into users values ('""', '".$login."', '".$haslo."')"; // jest
  3. $zapytanie = "insert into users values ('', '".$login."', '".$haslo."')"; // powinno być
  4. ?>
piotrooo89
  1. <?php
  2. $zapytanie = "insert into users values ('', '$login', '$haslo')";
  3. ?>


ciapki
Foxx
~piotrooo89: prawidłowy sposób zagnieżdżania zmiennych w zapytaniu SQL to właśnie:
  1. <?php
  2. $zapytanie = "insert into users values ('', '".$login."', '".$haslo."')";
  3. ?>
Magic Hereos
Teraz ciągle wysakuję :
Kod
Nie podano loginu, lub hasla !

Mimo, że podałem :/

Referersh !
Pomoże ktoś?sad.gif
Foxx
Wyświetl sobie zawartość tablicy $_POST na początku skrytpu i sprawdź czy na pewno te dane w niej są.
  1. <?php
  2. print_r($_POST);
  3. ?>

Wygląda na to, że nie. Możliwe, że pola formularza są inaczej nazwane ale tego nie da się stwierdzić bo nie wkleiłeś kodu formularza.
Magic Hereos
O <cenzura>
Zabrałem formularz z kaukulatora < LOL > haha.gif!
Pomógł !
Kod
Blad. Sprobuj pozniej !

Może mistrz Foxx znajdzie cośna to?smile.gif
Dokładniej kod :
  1. <html>
  2.    <body>
  3.        <? // Zaczecie PHP
  4.        $login = $_POST['login'];
  5.        $haslo = $_POST['haslo'];
  6.        if ($login == "" or $haslo == "")
  7.        {
  8.        echo 'Nie podano loginu, lub hasla !';
  9.        exit;
  10.        }
  11.        if (!get_magic_quotes_gpc())
  12.        {
  13.        $login = addslashes($login);
  14.        $haslo = addslashes($haslo);
  15.        }
  16.        @ $db = new mysqli('localhost', 'root', 'PASSWORD', 'uwierz');
  17.        if (mysqli_connect_errno())
  18.        {
  19.        echo 'Blad. Sprobuj pozniej !';
  20.        exit;
  21.        }
  22.        $db->select_db('users');
  23.        $zapytanie = "insert into uwierzytelnieni_uzytkownicy values ('', '".$login."', sha1('".$haslo."'))";
  24.        $wynik = $db->query($zapytanie);
  25.        if ($wynik)
  26.        {
  27.        echo 'Zostales dodany do bazy danych ! Na stronie glowniej, pojawi sie, jesli tylko zostanie dodana mozliwosc logowania !';
  28.        exit;
  29.        }
  30.        $wynik->free();
  31.        echo '&copy By Magic !<br>';
  32.        ?>
  33.    </body>
  34. </html>
Sky_walker
A może tak?

  1. <html>
  2.    <body>
  3.        <? // Zaczecie PHP
  4.        $login = $_POST['login'];
  5.        $haslo = $_POST['haslo'];
  6.        if ($login == "" or $haslo == "")
  7.        {
  8.        echo 'Nie podano loginu, lub hasla !';
  9.        exit;
  10.        }
  11.        $login = addslashes($login);
  12.        $haslo = addslashes($haslo);
  13.        $db = new mysqli('localhost', 'root', 'PASSWORD', 'uwierz');
  14.        if ($db->connect_error) {
  15.        echo 'Blad. Sprobuj pozniej !';
  16.        exit;
  17.        }
  18.        $db->select_db('users');
  19.        $zapytanie = "insert into uwierzytelnieni_uzytkownicy values ('', '".$login."', sha1('".$haslo."'))";
  20.        $wynik = $db->query($zapytanie);
  21.        if ($wynik)
  22.        {
  23.        echo 'Zostales dodany do bazy danych ! Na stronie glowniej, pojawi sie, jesli tylko zostanie dodana mozliwosc logowania !';
  24.        }
  25.        $wynik->free();
  26.        echo '&copy By Magic !<br>';
  27.        ?>
  28.    </body>
  29. </html>


I sprawdź nazwe użytkownika, hasło, oraz nazwę bazy danych. Całkiem możliwe że tu tkwi problem.
BTW: magic_quotes juz sie nie stosuje. winksmiley.jpg
Magic Hereos
Mam dać localhost czy localhost/phpmyadmin?smile.gif
Kod
Warning: mysqli::mysqli() [function.mysqli-mysqli]: (28000/1045): Access denied for user 'root'@'localhost' (using password: YES) in D:\xampp\htdocs\rejstruj.php on line 13

Warning: main() [function.main]: Couldn't fetch mysqli in D:\xampp\htdocs\rejstruj.php on line 14

Warning: mysqli::select_db() [function.mysqli-select-db]: Couldn't fetch mysqli in D:\xampp\htdocs\rejstruj.php on line 19

Warning: mysqli::query() [function.mysqli-query]: Couldn't fetch mysqli in D:\xampp\htdocs\rejstruj.php on line 21

Fatal error: Call to a member function free() on a non-object in D:\xampp\htdocs\rejstruj.php on line 28

Co teraz?:/
  1. <html>
  2.   <body>
  3.       <? // Zaczecie PHP
  4.       $login = $_POST['login'];
  5.       $haslo = $_POST['haslo'];
  6.       if ($login == "" or $haslo == "")
  7.       {
  8.       echo 'Nie podano loginu, lub hasla !';
  9.       exit;
  10.       }
  11.       $login = addslashes($login);
  12.       $haslo = addslashes($haslo);
  13.       $db = new mysqli('localhost', 'root', 'PASSWORD', 'uwierz');
  14.       if ($db->connect_error)
  15.       {
  16.       echo 'Blad. Sprobuj pozniej !';
  17.       exit;
  18.       }
  19.       $db->select_db('users');
  20.       $zapytanie = "insert into uwierzytelnieni_uzytkownicy values ('', '".$login."', sha1('".$haslo."'))";
  21.       $wynik = $db->query($zapytanie);
  22.       if ($wynik)
  23.       {
  24.       echo '<b>';
  25.       echo 'Zostales dodany do bazy danych ! Na stronie glowniej, pojawi sie, jesli tylko zostanie dodana mozliwosc logowania !';
  26.       echo '</b>';
  27.       }
  28.       $wynik->free();
  29.       echo '&copy By Magic !<br>';
  30.       ?>
  31.   </body>
  32. </html>
Sky_walker
localhost
a jak nie zadziała to localhost/phpmyadmin - w końcu to +- 2sek na zmianę kodu winksmiley.jpg
Magic Hereos
A co teraz?:/
Sky_walker
Cytat
Access denied for user 'root'@'localhost'

^ Taki błąd najczęściej pojawia się kiedy wpisujesz złe hasło.
Reszta błędów jest konsekwencją tego pierwszego.
Magic Hereos
Kod
Fatal error: Call to a member function free() on a non-object in D:\xampp\htdocs\rejstruj.php on line 30
Sky_walker
usuń linię
  1. <?php
  2. $wynik->free();
  3. ?>

(30)
Magic Hereos
THX, Teraz nic się nie wyswietla : ( kod :
  1. <html>
  2.   <body>
  3.       <? // Zaczecie PHP
  4.       $login = $_POST['login'];
  5.       $haslo = $_POST['haslo'];
  6.       if (!$login || !$haslo)
  7.       {
  8.       echo 'Nie podano loginu, lub hasla !';
  9.       exit;
  10.       }
  11.       if (!get_magic_quotes_gpc())
  12.       $login = addslashes($login);
  13.       $haslo = addslashes($haslo);
  14.       $db = new mysqli('localhost', 'root', 'PASSWORD');
  15.       $db->select_db('uwierz');
  16.       if ($db->connect_error)
  17.       {
  18.       echo 'Blad. Sprobuj pozniej !';
  19.       exit;
  20.       }
  21.       $db->select_db('uwierzytelnieni_uzytkownicys');
  22.       $zapytanie = "insert into uwierzytelnieni_uzytkownicy values ('', '".$login."', sha1('".$haslo."'))";
  23.       $wynik = $db->query($zapytanie);
  24.       if ($wynik)
  25.       {
  26.       echo '<b>';
  27.       echo 'Zostales dodany do bazy danych ! Na stronie glowniej, pojawi sie, jesli tylko zostanie dodana mozliwosc logowania !';
  28.       echo '</b>';
  29.       echo '&copy By Magic !<br>';
  30.       }
  31.       ?>
  32.   </body>
  33. </html>


Może mi ktoś pomóc?Mistrz Foxx albo Sky_walker?sad.gif

Ktoś pomoże?:\

Referesh
!

Help : |

;/
Caus
gdzie w koncu masz baze tych userów, w uwierz czy uwierzytelnieni_uzytkownicy?

  1. <html>
  2.  <body>
  3.      <? // Zaczecie PHP
  4.      $login = $_POST['login'];
  5.      $haslo = $_POST['haslo'];
  6.      if (!$login || !$haslo)
  7.      {
  8.      echo 'Nie podano loginu, lub hasla !';
  9.      exit;
  10.      }
  11.      if (!get_magic_quotes_gpc())
  12.      $login = addslashes($login);
  13.      $haslo = addslashes($haslo);
  14.      $connect = mysql_connect(localhost, root, PASSWORD);
  15.      $db->mysql_select_db(uwierz,$connect) //tutaj nie wiem czy nie trzeba dodac srednika, ale chybanie
  16.  
  17.      if ($db->connect_error)
  18.      {
  19.      echo 'Blad. Sprobuj pozniej !';
  20.      exit;
  21.      }
  22.      $db->select_db('uwierzytelnieni_uzytkownicy'); //bez s
  23.      $zapytanie = "insert into uwierzytelnieni_uzytkownicy values ('', '".$login."', sha1('".$haslo."'))";
  24.      $wynik = mysql_query($zapytanie);
  25.      if ($wynik)
  26.      {
  27.      echo '<b>';
  28.      echo 'Zostales dodany do bazy danych ! Na stronie glowniej, pojawi sie, jesli tylko zostanie dodana mozliwosc logowania !';
  29.      echo '</b>';
  30.      echo '&copy By Magic !<br>';
  31.      }
  32.      ?>
  33.  </body>
  34. </html>


zrobilem tak jak bylo, ale zamien uwierz, na to drugie, albo na odwort, bo do dwoch baz sie laczysz biggrin.gif

Ave
Magic Hereos
Kod
Fatal error: Call to a member function mysql_select_db() on a non-object in D:\xampp\htdocs\rejstruj.php on line 15

Co teraz?:/ Pomógł !: D

questionmark.gif
Foxx
  1. <?php
  2. $connect = mysql_connect(localhost, root, PASSWORD);
  3. $db->mysql_select_db(uwierz,$connect)
  4. ?>


A gdzie masz tworzony obiekt $db?
Nie wiem już jak aktualnie wygląda Twój skrypt.
Magic Hereos
Oto on :
  1. <html>
  2. <body>
  3.     <? // Zaczecie PHP
  4.     $login = $_POST['login'];
  5.     $haslo = $_POST['haslo'];
  6.     if (!$login || !$haslo)
  7.     {
  8.     echo 'Nie podano loginu, lub hasla !';
  9.     exit;
  10.     }
  11.     if (!get_magic_quotes_gpc())
  12.     $login = addslashes($login);
  13.     $haslo = addslashes($haslo);
  14.     $connect = mysql_connect('localhost', 'root', 'PASS');
  15.     $db->mysql_select_db(uwierz,$connect); //tutaj nie wiem czy nie trzeba dodac srednika, ale chybanie
  16.     if ($db->connect_error)
  17.     {
  18.     echo 'Blad. Sprobuj pozniej !';
  19.     exit;
  20.     }
  21.     $db->select_db('uwierzytelnieni_uzytkownicy'); //bez s
  22.     $zapytanie = "insert into uwierzytelnieni_uzytkownicy values ('', '".$login."', sha1('".$haslo."'))";
  23.     $wynik = mysql_query($zapytanie);
  24.     if ($wynik)
  25.     {
  26.     echo '<b>';
  27.     echo 'Zostales dodany do bazy danych ! Na stronie glowniej, pojawi sie, jesli tylko zostanie dodana mozliwosc logowania !';
  28.     echo '</b>';
  29.     echo '&copy By Magic !<br>';
  30.     }
  31.     ?>
  32. </body>
  33. </html>

Jakieś błędy?;/

questionmark.gif;/
Foxx
W pierwotnych wersjach miałeś w swoim kodzie
  1. <?php
  2. $db = new mysqli('mysql.ugu.pl', 'BAZA', 'PASSWORD', 'users');
  3. ?>

Teraz już nie widzę tworzenia tego obiektu a nadal używasz $db-> i dostajesz błąd, że obiektu nie ma.
Magic Hereos
Thx smile.gif
A teraz :
Kod
Fatal error: Call to a member function mysql_select_db() on a non-object in D:\xampp\htdocs\rejstruj.php on line 20

Kod :
  1. <html>
  2. <body>
  3.     <? // Zaczecie PHP
  4.     $login = $_POST['login'];
  5.     $haslo = $_POST['haslo'];
  6.     if (!$login || !$haslo)
  7.     {
  8.     echo 'Nie podano loginu, lub hasla !';
  9.     exit;
  10.     }
  11.     if (!get_magic_quotes_gpc())
  12.     $login = addslashes($login);
  13.     $haslo = addslashes($haslo);
  14.     $db = mysql_connect('localhost', 'root', 'PASS');
  15.     if (!$db)
  16.     {
  17.         echo 'Nie udało się połączyc z baza. Blad :'. mysql_error();
  18.         exit;
  19.     }
  20.     $db->mysql_select_db('uwierz', $db);
  21.     if (!$db)
  22.     {
  23.        echo '<b>';
  24.     echo 'Blad. Sprobuj pozniej ! Blad :'. mysql_error();
  25.     echo '</b>';
  26.     exit;
  27.     }
  28.     $zapytanie = "insert into uwierzytelnieni_uzytkownicy values ('".$login."', sha1('".$haslo."'))";
  29.     $wynik = mysql_query($zapytanie);
  30.     if ($wynik)
  31.     {
  32.     echo '<b>';
  33.     echo 'Zostales dodany do bazy danych ! Na stronie glowniej, pojawi sie, jesli tylko zostanie dodana mozliwosc logowania !';
  34.     echo '</b>';
  35.     echo '&copy By Magic !<br>';
  36.     }
  37.     elseif (!$wynik)
  38.     {
  39.         echo 'Znaleziono blad ! Prosze skontaktowac sie z administracja. Blad : '. mysql_error();
  40.     }
  41.     ?>
  42. </body>
  43. </html>


I co teraz?;/

?;/
erix
A masz w php.ini włączone rozszerzenie MySQL? snitch.gif
Magic Hereos
Gdzie to się włącza?tongue.gif
; Allow or prevent persistent links.
mysql.allow_persistent = On
To to?biggrin.gif
Magic Hereos
Ale tam nie pisze jak włączyć tongue.gif
erix
Bo to trzeba inaczej zestawić połączenie, a nie tylko włączyć... dry.gif
Magic Hereos
Ale jest błąd w lini 20, a nie na początku (gdzie jest dobrze ;p)

Więc proszę o pomoc ;P
erix
Ajjj, źle, pomyliłem Twój problem z innym wątkiem, wybacz. winksmiley.jpg Zmyliłeś mnie tymi połączeniami stałymi.

Cytat
Gdzie to się włącza?

Sekcja extensions.
Magic Hereos
A gdzie ona się znajduje?xDDD? Bo zaczynam z php, mam Xampp smile.gif
erix
W php.ini... :|

Rusz trochę palcami, a nie z byle pytaniem lecisz na forum...
Magic Hereos
Ruszyłem, znalazłem, pełni tego, ale tam nie ma czegoś takiego, jak on/off ;\
ddiceman
w 20 linii zamiast
  1. <?php
  2. $db->mysql_select_db('uwierz', $db);
  3. ?>

to
  1. <?php
  2. mysql_select_db('uwierz', $db);
  3. ?>


czytaj, co do Ciebie pisza...
Magic Hereos
THX, działa biggrin.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.