Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Sprawdzenie zawartości.
castagir
post
Post #1





Grupa: Zarejestrowani
Postów: 146
Pomógł: 3
Dołączył: 28.10.2014

Ostrzeżenie: (10%)
X----


Witam

Potrzebuję pomocy w odczytaniu wyniku zapytania. Napisałem dwie strony z zawartością logiczną. Jedna to wyświetlenie formularza, a druga wykonuje test z danymi wpisanymi w formularzu, a nastepnie zwraca wynik.
Funkcja z którą mam problem to ta:
  1. function sprawdzenie_nazwy($nazwa) {
  2. global $polaczenie_bd;
  3. global $przedrostek;
  4. $pytanie = "SELECT nazwa, haslo FROM ".$przedrostek."uzytkownicy LIKE '".$nazwa."'";
  5. $wynik = mysqli_query($polaczenie_bd, $pytanie);
  6. if (mysql_num_rows($wynik) > 0) {
  7. $wynik = mysqli_fetch_assoc($wynik); }
  8. elseif (mysql_num_rows($wynik) = 0) { // błąd odnosi się do tego wersu.
  9. return 'Użytkownik o takiej nazwnie nie istnieje'; }
  10. else {
  11. return 'Nie udało się połączyć z bazą danych.<br />Spróbuj jeszcze raz lub zgłoś problem do pomocy technicznej.'; }
  12. if ($wynik['nazwa'] === $nazwa) {
  13. return 'dobrze'; }
  14. }


Dodatkowo wyświetla taki błąd:
  1. Fatal error: Can't use function return value in write context in /var/www/html/inicjacja.php on line 157


Ową funkcję wywołuje ten fragment kodu:
  1. if ($spr_nazwa === 'dobrze') {
  2. echo $spr_nazwa = sprawdzenie_nazwy($nazwa); }
  3. if ($spr_haslo === 'dobrze') {
  4. $spr_haslo = sprawdzenie_hasla($spr_nazwa, $haslo); }

Nie wiem czy w czymś pomoże, bo ten kod dopiero wtedy jest interpetowany, gdy formularz zostanie wyświetlony, wypełniony i zaakceptowany.

Z góry dziękuję za pomoc.
Pozdrawiam!

Ten post edytował castagir 13.12.2014, 15:44:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
castagir
post
Post #2





Grupa: Zarejestrowani
Postów: 146
Pomógł: 3
Dołączył: 28.10.2014

Ostrzeżenie: (10%)
X----


Wkurzony byłem i tak napisałem. Chwilę po zamieszczeniu ostatniego postu udało mi się wreszcie właściwie połączyć.

Problem teraz jest inny.
Dalej poszeðłem według rad Tursona i ostatecznie mam zmienną z zbindowanymi danymi($wynik):
Chciałbym teraz te dane wyciągnąć na zewnątrz. Niestety teraz gdy próbuje wyciągnąć wynik tej zmiennej za pomocą "return" na zewnątrz funkcji, jedyne co mi pokazuje to NULL.

Co znowu źle zrobiłem?
  1. function inicjacja_logowania($nazwa, $haslo) {
  2. global $pdo_bd;
  3. global $przedrostek;
  4. $pytanie = $pdo_bd->prepare("SELECT id FROM ".$przedroste_bd."uzytkownicy WHERE login='".$nazwa."' AND haslo='".$haslo."' LIMIT 1");
  5. $pytanie->bindValue(':login', $nazwa, PDO::PARAM_STR);
  6. $pytanie->bindValue(':haslo', $haslo, PDO::PARAM_STR);
  7. $pytanie->execute();
  8.  
  9. return $wynik = $pytanie->fetch(PDO::FETCH_ASSOC);


PS Rysh: Robię intuicyjną platformę, którą może sobie sam skonfigurować administrator toteż nie mogą być tam wpisane po prostu dane, tylko muszę one zostać tam umieszczane za pośrednictwem stałych, które sa implementowane z innego pliku.

Ten post edytował castagir 14.12.2014, 16:36:10
Go to the top of the page
+Quote Post

Posty w temacie
- castagir   [MySQL][PHP]Sprawdzenie zawartości.   13.12.2014, 15:43:02
- - Rysh   Hasła w PHP się nie sprawdza. Wysyłasz zapytanie c...   13.12.2014, 15:54:11
- - castagir   Czy tak powinna wyglądać prawidłowa funkcja? [PHP]...   13.12.2014, 16:11:56
|- - Rysh   Cytat(castagir @ 13.12.2014, 16:11:56...   13.12.2014, 17:42:00
- - Turson   Ale żadne LIKE, a zwykłe równa się. elseif (mysql_...   13.12.2014, 16:44:44
- - castagir   W jaki sposob mam zbindowac dane? Poza tym nawet j...   13.12.2014, 17:17:36
- - fastlone   Cytat(castagir @ 13.12.2014, 17:17:36...   13.12.2014, 17:27:23
- - Turson   Bindować możesz używając PDO   13.12.2014, 17:30:19
- - castagir   Dzięki Falstone i Rysh Udało się. Co do PDO to d...   13.12.2014, 19:26:27
- - Turson   Łączysz się z bazą danych [PHP] pobierz, plaintext...   13.12.2014, 19:36:01
- - castagir   Takie cos mi wywala. [PHP] pobierz, plaintext Warn...   14.12.2014, 15:51:45
- - Rysh   Nie dawaj tam stałych tylko wpisz dane do logowani...   14.12.2014, 15:56:05
- - viking   Przecież jest użytkownik tylko nie ma dostępu, jes...   14.12.2014, 15:59:35
- - castagir   Wkurzony byłem i tak napisałem. Chwilę po zamieszc...   14.12.2014, 16:34:06
- - viking   W samym zapytaniu nie bindujesz tych parametrów ty...   14.12.2014, 17:35:36
- - castagir   Teraz prawie wszystko rozumiem. Umiem juz odpowied...   14.12.2014, 21:57:48
- - Turson   [PHP] pobierz, plaintext $wynik = $pytanie->fet...   15.12.2014, 07:56:06
- - castagir   Może inaczej. Chciałbym osiągnąć coś takiego: Za...   15.12.2014, 10:44:42
- - nospor   W ostatnim poscie Tursona dostałes odpowiedź....   15.12.2014, 11:07:12
- - castagir   Robię właśnie to iwciąż nic nie otrzymuję. Podaj...   15.12.2014, 12:52:25
- - nospor   Bo albo nie ma danych spelaniajacych Twoje warunki...   15.12.2014, 12:55:57
- - castagir   Możliwe. To w takim razie jak prawidłowo powinna w...   15.12.2014, 16:48:26
- - viking   Daj jeszcze [PHP] pobierz, plaintext $polaczenie-...   15.12.2014, 17:09:59
- - castagir   Biorę przez return, bo wydawało mi się, że tak wła...   15.12.2014, 18:06:56
- - viking   Tak, ale czy wykorzystujesz gdzieś $wynik? Za...   15.12.2014, 18:46:57
- - castagir   Ustawienie rzucania wyjątków też nic nie dąło. Cia...   15.12.2014, 21:25:25
- - viking   [PHP] pobierz, plaintext error_reporting(-1...   16.12.2014, 06:38:27
- - castagir   Tez nic nie pomaga. Co do danych, to mam na bank i...   17.12.2014, 08:44:05
- - viking   I jaki miałeś ostatecznie błąd?   17.12.2014, 09:12:44
- - castagir   Po zapytaniu napisałem pętlę, w której interesując...   17.12.2014, 18:17:12


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

 



RSS Aktualny czas: 2.10.2025 - 19:26