Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: gra internetowa - rejestracja
Forum PHP.pl > Forum > PHP
colinQ
Mam plik index.php
  1. <?
  2. // POŁĄCZENIE Z BAZĄ
  3. @ $sql_conn = mysql_connect('mysql1.yoyo.pl', 'db307614', '***');
  4. $baza = mysql_select_db("db307614");
  5.  
  6. ?>
  7.  
  8. <meta http-equiv="content-type" content="text/html; charset=windows-1250"> 
  9.  
  10. <table align=center width=750 cellspacing=1 bgcolor=silver>
  11.  <tr>
  12. <td colspan=2><center><font style="font-size: 26px">Gra Internetowa</font></center></td>
  13.  </tr>
  14.  <tr>
  15. <td><center><font style="font-size: 13px">Energia: <br> Pieniądze:</font></center></td>
  16. <td><center><font style="font-size: 13px">Anonymus, Witaj w grze</font></center></td>
  17.  </tr>
  18.  <tr>
  19. <td><center><font style="font-size: 13px">
  20.  <a href=index.php>index</a><br>
  21.  <a href=ind
  22. ex.php?frame=register>rejestracja</a>
  23. </font></center></td>
  24. <td><center><font style="font-size: 13px">
  25. <?
  26. // zmienna $go przekazana metoda GET
  27. $go = $_GET['frame'];
  28.  
  29. // sprawdzamy czy zmienna $go nie jest pusta
  30. if(!empty($go)) {
  31. // sprawdzamy czy plik o danej nazwie istnieje
  32. if(is_file("$go.php")) include "$go.php";
  33. // jezeli plik nie istnieje wyswietla się komunikat
  34. else echo "<br />Nie ma takiej strony :-(";
  35. }
  36.  else { echo 'aaa'; }
  37. ?>
  38. </font></center></td>
  39.  </tr>
  40. </table>


i plik register.php

  1. <?
  2.  
  3. echo'Wypełnij pola aby się zarejestrować.<br><br>';
  4. ?>
  5. <font style="font-size: 12px">
  6. <?
  7. if( $_POST['log'] == '' || $_POST['pass'] == '' || $_POST['mail'] == '' || $_POST['nazwa'] == '' ||
  8. $_POST['rasa'] == '') {
  9. ?>
  10. <form method=post>
  11. login<br>
  12. <input type=text name=log><br>
  13. hasło<br>
  14. <input type=password name=pass><br>
  15. adres e-mail<br>
  16. <input type=text name=mail><br>
  17. bohater<br>
  18. <input type=text name=nazwa><br>
  19. typ<br>
  20. <select name=rasa>
  21. <option value=chlop>chłop
  22. <option value=drwal>drwal
  23. </select><br><br>
  24. <input type=submit value=register>
  25. <input type=reset value=reset>
  26. </form>
  27. <? 
  28. } else {
  29. $log = $_POST['log'];
  30. $has = $_POST['pass'];
  31. $mail = $_POST['mail'];
  32. $nazwa = $_POST['nazwa'];
  33. $rasa = $_POST['rasa'];
  34.  
  35. $zapytanie = "INSERT INTO `users` VALUES(NULL, '$log', '$has', '$mail', '$nazwa', '$rasa', '100', '1000')";
  36. if(mysql_query($zapytanie) )
  37. echo 'ok';
  38. else
  39. echo 'blad';
  40.  
  41. }
  42. ?>


Problem polega na tym ze nie chce mi się dodac rekord do bazy wiecznie wyswietla blad.
Cienki1980
No to jeszcze było by nam bardzo miło jakbyś podał błąd który się pokazuje.
colinQ
pokazuje się napis błąd co wynika z
  1. <?php
  2. if(mysql_query($zapytanie) )
  3. echo 'ok';
  4. else
  5. echo 'blad';
  6. ?>
Pontifex_Maximus
Podaj jeszcze strukturę (nazwę pola, typ, długość) tabeli "users" oraz wynik polecenia
  1. <?php
  2. echo $zapytanie;
  3. ?>
(pomiędzy liniami 35 - 36 wklej)
deirathe
masz blad w query powinno byc:
  1. INSERT INTO `users` (pole1, pole2, pole3, pole4) VALUES('wart1','wart2','wart3','wart4')
=57=
hmhm.. ja to bym kwerende zmienil winksmiley.jpg)

  1. <?php
  2. $zapytanie = "INSERT INTO `users` VALUES(NULL, '$log', '$has', '$mail', '$nazwa', '$rasa', '100', '1000')";
  3. ?>


RAZ:
korzystaj z wartosci default w MySQLu (mam na mysli te dwie wartosci w kwerendzie (100 i 1000). wartosc domyslna (default) jest po to zeby sobie pracy zaosczedzic winksmiley.jpg

DWA:
sproboj kwerende sformuowac w ten sposob
  1. <?php
  2. $zapytanie = "INSERT INTO users VALUES(NULL, '".$log."', '".$has."', '".$mail."', '".$nazwa."', '".$rasa."', '100', '1000')";
  3. ?>


przyjzyjmy sie blizej fragmentowi po VALUES:
  1. <?php
  2. VALUES(NULL, '".$log."', '".$has."', '".$mail."', '".$nazwa."'
  3. ?>


O co mi chodzi to cudzyslowia, apostrofy i kropki smile.gif

  1. <?php
  2. ' " . $log . " ' , ' " . $has . " ' , (...)
  3. ?>


Czaisz? winksmiley.jpg dobrze jest tez precyzowac kwerendy jak najbardziej jest to mozliwe tongue.gif np.

  1. <?php
  2. $zapytanie = "INSERT INTO users(log, has, mail, nazwa, rasa, hp, gold) VALUES(NULL, '".$log."', '".$has."', '".$mail."', '".$nazwa."', '".$rasa."', '100', '1000')";
  3. ?>


Przyjzyjmy sie fragmentowi po INTO

  1. <?php
  2. users(log, has, mail, nazwa, rasa, hp, gold)
  3. ?>


w nawias wpisujesz pola z bazy SQL, ja wpisalem jakies przykadowe, Ty musisz je uzupelnic nazwami swoich pol z SQL smile.gif

jak masz jakiekolwiek problemy z SQL to polecam w3school


Pozdrawiam,
Blaster '57'
colinQ
=57= niestety ale twój sposób nie działa.

=====users=====

id int(10) UNSIGNED Nie auto_increment
log char(50) utf8_polish_ci Nie
has char(50) utf8_polish_ci Nie
mail char(100) utf8_polish_ci Nie
nazwa char(50) utf8_polish_ci Nie
rasa char(50) utf8_polish_ci Nie
energia char(3) utf8_polish_ci
money char(50) utf8_polish_ci Nie

==============

wyciag z phpmyadmin to gdzie jest nie to jest NULL
Pontifex_Maximus
Nie podałeś wszystkiego co chciałem, ale przy takiej strukturze tabeli to nie istotne (chciałem sprawdzić, czy przez przypadek nie próbujesz wrzucić stringa do pola typu INT).

Twoje zapytanie INSERT było poprawne, ale można napisać je lepiej i zrobił to '57'. Moim zdaniem nie tutaj jest błąd.

Po pierwsze to sprawdziłbym, czy na pewno łączysz się z bazą poprawnie:

  1. <?
  2.  
  3. // POŁĄCZENIE Z BAZĄ
  4. @ $sql_conn = mysql_connect('mysql1.yoyo.pl', 'db307614', '***') or die( mysql_error() );
  5. $baza = mysql_select_db("db307614") or die( mysql_error() );
  6.  
  7. ?>


Po drugie: Czy użytkownik 'db307614' ma uprawnienia do dodawania rekordów?
colinQ
Gdy zaloguję się w PhpMyAdmin to mogę normalnie dodawac rekordy. A gdy zrobiłem w kodzie tak:

  1. <?
  2. // POŁĄCZENIE Z BAZĄ
  3. $sql_conn = mysql_connect('mysql1.yoyo.pl', 'db307614', '***');
  4. $baza = mysql_select_db("db307614");
  5.  
  6. ?>


to wyswietla:

Warning: mysql_connect(): Can't connect to MySQL server on '3306' (10060) in c:\usr\apache\httpd\html\wies\index.php on line 3

a podam Wam dane z YoYo.pl na temat MySQL:

* Panel PHPMyAdmin: http://mysql1.yoyo.pl/
* Adres serwera MySQL: mysql1.yoyo.pl
* Port: 3306
* Baza danych: db307614
* Nazwa użytkownika: db307614
* Hasło: Takie jakie podałeś podczas tworzenia/migracji strony (zmień)


może ja coś źle wpisuje :/
Pontifex_Maximus
No to teraz strzelam:

Zmień 'mysql1.yoyo.pl' na 'localhost', tak jak poniżej:
  1. <?
  2.  
  3. // POŁĄCZENIE Z BAZĄ
  4. @ $sql_conn = mysql_connect('localhost', 'db307614', '***') or die( mysql_error() );
  5. $baza = mysql_select_db("db307614") or die( mysql_error() );
  6.  
  7. ?>


albo tak:

http://www.webtips.pl/post1471.html

albo napisz maila do yoyo.pl w końcu od czegoś tam są administratorzy, pomoc techniaczna itd.
cinekz
Myślę, że do baz yoyo.pl nie można się odwoływać z innego serwera niz yoyo.pl. Z tego co widzę ty odpalasz ten skrypt na localhoscie. Odpal go bezpośrednio na serwerze yoyo.pl, a potem zobaczymy co dalej.
colinQ
Jak wrzuciłem na serwer yoyo.pl , to zaczęło działać.

A wogóle korzystan z Krasnala ale nie umiem skonfigurować bazy :/
=57=
ColinQ, obczaj sobie te stronke .

To jest taki pakiecik, apache + php5 + mysql iles tam. BARDZO prosta instalacja. w zasadzie to kliaksz, odpalasz i wszystko dziala. dzieki temu masz na kompie serwer mysqla i yoyo.pl jest juz nie potrzebny winksmiley.jpg tzn developujesz na kompie a publikujesz na yoyo : D

ps. teraz zauwazylem ze poprzedni moj post ma bledy tongue.gif no ale to juz nie aktualne smile.gif

pozdrawiam,
57
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.