Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Class, funkcja ktora zwraca zmienną na drugą podstrone
Forum PHP.pl > Forum > Przedszkole
xwo52
Witam mam taki kod
  1. <?php
  2. include_once("lib/library.php");
  3.  
  4. ?>
  5. <html>
  6. <head>
  7. </head>
  8. <body>
  9. <form method="post">
  10. <input type="text" name="nick"> <br>
  11. <input type="text" name="haslo"> <br>
  12. <input type="text" name="email"> <br>
  13. <button type="submit" name="rejestruj">Rejestruj</button>
  14. <br>
  15. <?php
  16. if(isset($_POST['rejestruj']))
  17. {
  18. if($_POST['nick'] == "")
  19. {
  20. echo "Podaj swoj nick !<br>";
  21. }elseif($_POST['haslo'] == "")
  22. {
  23. echo "Podaj swoje haslo !<br>";
  24. }
  25. elseif($_POST['email'] == "")
  26. {
  27. echo "Podaj swoj email !<br>";
  28. }else{
  29.  
  30. $rejestracja = new strona();
  31. $rejestracja->rejestruj($_POST['nick'],$_POST['haslo'],$_POST['email']);
  32.  
  33. $rejestracja->wezid($_POST['nick'],"0");
  34. }
  35.  
  36. } ?>
  37. <?php
  38. // TUTAJ CHCE ZEBY POKAZYWALO TO ID
  39. ECHO "twoje id to". $zwroc; ?>
  40. </body>
  41. </html>
  42.  


a tutaj mam to library
  1. <?php
  2. class strona
  3. {
  4. public function rejestruj($nick,$haslo,$email)
  5. {
  6.  
  7. include("Baza Danych/connectDB.php");
  8. $stmt = $conn->prepare("INSERT INTO uzytkownicy (login, haslo, email,ip)
  9. VALUES (:login, :haslo, :email, :ip)");
  10. $stmt->bindParam(':login', $nick);
  11. $stmt->bindParam(':haslo', $haslo);
  12. $stmt->bindParam(':email', $email);
  13. $stmt->bindParam(':ip', $_SERVER['REMOTE_ADDR']);
  14.  
  15. $stmt->execute();
  16. $conn = null;
  17. }
  18. public function wezid($nick,$zwroc)
  19. {
  20. include("Baza Danych/connectDB.php");
  21. $stmt = $conn->prepare("SELECT id FROM uzytkownicy WHERE login=:nick");
  22. $stmt->bindParam(':nick', $nick);
  23. $stmt->execute();
  24. $id = $stmt->fetch(PDO::FETCH_ASSOC);
  25. $zwroc = $id['id'];
  26. return $zwroc;
  27. $conn = null;
  28.  
  29.  
  30. }
  31. }
  32. ?>


I chce żeby w tym pierwszym kodzie pokazywało to id, czyli z tego drugiego kodu z 2 drugiej funkcji (wezid) przekazywalo to id na ten pierwszy kod, podpowie ktoś jak to zrobić

Linijka 39 w pierwszym kodzie
viking
Jaka baza danych? W postgresie masz returning, w mysql możesz wykorzystać last insert id i zwrócić je w w linii 17.
xwo52
Ale mi nie chodzi o to tylko żeby z tego zapytania, zapisalo do zmiennej i żeby na innej stronie wczytać ta zmienna
viking
Jak zwrócić od razu możesz sobie zapisać w sesji dla użytkownika. Albo zwrócić całą tablicę danych użytkownika po rejestracji.
Tak na marginesie. Linia 27 się nie wykona.
xwo52
a jeżeli mialbym cos takiego
  1. $query->execute();
  2. if ($query->rowCount() > 0) {
  3. return true;
  4. } else {
  5. return false;


to jak sprawdzic co zwrocilo na innej stronie ;p?
viking
Var_dump($rejestracja->rejestruj($_POST['nick'],$_POST['haslo'],$_POST['email']));
xwo52
Dobra już sobie poradziłem haha.gif
ale zwraca mi coś takiego bool(false), jak mam to na if(costam == true){ dac ?
viking
Podstaw sobie w linii 31. Chyba że masz na myśli odczytanie w innym requescie to się nie da.
xwo52
ref,
viking pomożesz ;p? pisalem wyzej ale chyba nie zauwazyłeś, jak mam sprawdzic co zwraca ten vardump ?
viking
Więc jak widzisz metoda zwraca false.

If($rejestracja->rejestruj($_POST['nick'],$_POST['haslo'],$_POST['email']) === true){}
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.