Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [bład] Logowanie z użyciem MySQL
-regua-
post
Post #1





Goście







Hej! Mam pytanie. Mianowicie zrobiłem skrypt logowania, w którym user wybiera wybiera swój kraj i skrypt sprawdza, czy nie ma takiego skryptu w bazie - jeśli jest, wywala błąd. W tym rzecz, że pisze mi: "Rejestracja przebiegła pomyślnie", a nie zostają dodane do bazy danych potrzebne dane.
(Moja tabela user ma kolumny: login, haslo, kraj)
  1. <?php
  2. $login = $_POST['login'];
  3. $pass = $_POST['pass'];
  4. $email = $_POST['email'];
  5. $kraj = $_POST['kraj'];
  6. $dbc = mysql_connect('localhost', 'xxx', 'xxx') or die("Nie mogę połączyć");
  7. mysql_select_db('xx') or die("Nie mogę wybrać bazy");
  8. $spr = "SELECT COUNT(*) FROM user WHERE kraj = $kraj";
  9. if(!@mysql_query($spr) == 0) {
  10. print("Ten kraj jest już w użyciu. Wybierz inny.");
  11. } else {
  12. @mysql_query('INSERT INTO user VALUES ("$login", "$haslo", "$kraj");');
  13. print("Rejestracja przebiegła pomyślnie!<br>");
  14. } }
  15. ?>
Go to the top of the page
+Quote Post
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Tekst z manuala:

Cytat
mysql_query() zwraca identyfikator wyniku (lub FALSE  w przypadku niepowodzenia) jedynie dla zapytań typu SELECT, SHOW, EXPLAIN i DESCRIBE. Dla innych zapytań SQL mysql_query() zwraca TRUE  lub FALSE informując czy zapytanie zakończyło się sukcesem czy też nie. Jeśli nie została zwrócona wartość FALSE to znaczy, że zapytanie było prawidłowe i może być wykonane przez serwer. Nie mówi natomiast nic o liczbie przetworzonych lub zwróconych wierszy. Jest również możliwe, że zapytanie zostanie wykonane poprawnie, nie przetwarzając lub zwracając żadnych wierszy.


--------------------
Go to the top of the page
+Quote Post
vtuner
post
Post #3





Grupa: Zarejestrowani
Postów: 220
Pomógł: 10
Dołączył: 23.08.2005
Skąd: Łódź

Ostrzeżenie: (0%)
-----


nic dziwnego ze to nie wychodzi jak jest zle

  1. <?php
  2. $spr = mysql_query("SELECT * FROM user WHERE kraj = $kraj");
  3. if(mysql_num_rows($spr) == 1) {
  4. echo "Ten kraj jest już w użyciu. Wybierz inny.";
  5. } else {
  6.  if(mysql_query("INSERT INTO user VALUES ('$login', '$haslo', '$kraj')")) {
  7. echo("Rejestracja przebiegła pomyślnie!<br>"); }
  8. ?>


Ten post edytował vtuner 21.01.2006, 10:39:30
Go to the top of the page
+Quote Post
-regua-
post
Post #4





Goście







Cytat(SongoQ @ 2006-01-21 09:33:56)
Tekst z manuala:

Cytat
mysql_query() zwraca identyfikator wyniku (lub FALSE  w przypadku niepowodzenia) jedynie dla zapytań typu SELECT, SHOW, EXPLAIN i DESCRIBE. Dla innych zapytań SQL mysql_query() zwraca TRUE  lub FALSE informując czy zapytanie zakończyło się sukcesem czy też nie. Jeśli nie została zwrócona wartość FALSE to znaczy, że zapytanie było prawidłowe i może być wykonane przez serwer. Nie mówi natomiast nic o liczbie przetworzonych lub zwróconych wierszy. Jest również możliwe, że zapytanie zostanie wykonane poprawnie, nie przetwarzając lub zwracając żadnych wierszy.

Czyli muszę to:
  1. <?php
  2. if(!@mysql_query($spr) == 0) {
  3. ?>

zastąpić tym:
  1. <?php
  2. if(@mysql_query($spr) == TRUE) {
  3. ?>

? blink.gif
Go to the top of the page
+Quote Post
-regua-
post
Post #5





Goście







Cytat(vtuner @ 2006-01-21 09:38:03)
nic dziwnego ze to nie wychodzi jak jest zle

  1. <?php
  2. $spr = mysql_query("SELECT * FROM user WHERE kraj = $kraj");
  3.             if(mysql_num_rows($spr) == 1) {
  4.             echo "Ten kraj jest już w użyciu. Wybierz inny.";
  5.             } else {
  6.                if(mysql_query("INSERT INTO user VALUES ('$login', '$haslo', '$kraj')")) {
  7.             echo("Rejestracja przebiegła pomyślnie!<br>"); }
  8. ?>

Teraz nic nie wyświetla :/
Go to the top of the page
+Quote Post
crash
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Nic nie zrozumiałeś. Posta wyżej masz gotowca, nie chce Ci się myśleć to go użyj.


--------------------
Go to the top of the page
+Quote Post
-regua-
post
Post #7





Goście







Cytat(crash @ 2006-01-21 09:44:39)
Nic nie zrozumiałeś. Posta wyżej masz gotowca, nie chce Ci się myśleć to go użyj.

Gdzie mam gotowca questionmark.gif
Wkleiłem kod, próbowałem zmian i nic...

dry.gif
Go to the top of the page
+Quote Post
SongoQ
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $spr = mysql_query("SELECT * FROM user WHERE kraj = $kraj");
  3. if(mysql_num_rows($spr) == 1) {
  4. echo "Ten kraj jest już w użyciu. Wybierz inny.";
  5. } else {
  6.  if(mysql_query("INSERT INTO user VALUES ('$login', '$haslo', '$kraj')")) {
  7. echo("Rejestracja przebiegła pomyślnie!<br>"); }
  8. else
  9. echo 'Jakis blad ........ pomysl i poszukaj gdzie jest bleeeeeee';
  10. ?>


--------------------
Go to the top of the page
+Quote Post
-regua-
post
Post #9





Goście







Nie działa sad.gif

Oto cały kod:
[php] <?php
$login = $_POST['login'];
$pass = $_POST['pass'];
$email = $_POST['email'];
$kraj = $_POST['kraj'];
$dbc = mysql_connect('localhost', 'xxx', 'xxx') or die("Nie mogę połączyć");
mysql_select_db('xxx') or die("Nie mogę wybrać bazy");
$spr = mysql_query("SELECT * FROM user WHERE kraj = $kraj");
if(mysql_num_rows($spr) == 1) {
echo "Ten kraj jest już w użyciu. Wybierz inny.";
} else {
if(mysql_query("INSERT INTO user VALUES ('$login', '$haslo', '$kraj')")) {
echo("Rejestracja przebiegła pomyślnie!<br>"); }
else
echo 'Jakis blad ........ pomysl i poszukaj gdzie jest bleeeeeee';
}
?>

I wyskakuje "Jakis blad ........ pomysl i poszukaj gdzie jest bleeeeeee" dry.gif
Go to the top of the page
+Quote Post
SongoQ
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Heheheh. To chyba dziala.
Kraj jest jako string? bo jesli tak to ma byc ''


--------------------
Go to the top of the page
+Quote Post
-regua-
post
Post #11





Goście







Cytat(SongoQ @ 2006-01-21 11:36:31)
Heheheh. To chyba dziala.
Kraj jest jako string? bo jesli tak to ma byc ''

LOGIN i HASŁO pobierają dane z pól <input type="text">, a KRAJ z listy <select>, wszystkie trzy są wartościami tekstowymi.
Go to the top of the page
+Quote Post
SongoQ
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  $spr = mysql_query("SELECT * FROM user WHERE kraj = '$kraj'");
  3. ?>


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:42