Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem ze zmienną w bindValue
creepingdeath
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 24.12.2014

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


Witam! Dopiero rozpoczynam swoją przygodę z php i mam następujący problem: podczas próby umieszczenia wartości zmiennej $id w linijce
  1. $query->bindValue(4, $id);
okazuje się, iż nie jest to możliwe. Wyświetlenie zawartości zmiennej funkcją echo daje oczywiście odpowiedni wynik, ale nie mogę przekazać zmiennej do bindValue... oczywiście wpisanie zamiast zmiennej dowolnej liczby daje zadowalający wynik. Sporo się namęczyłem z rozwiązaniem tego problemu, ale nic nie przychodzi mi do głowy.

  1. <?php
  2. include_once('../include/connection.php');
  3. include_once('../include/temat.php');
  4.  
  5. $temat = new Temat;
  6.  
  7. if (isset($_GET['id'])) {
  8. $id = $_GET['id'];
  9. $data = $temat->fetch_data($id);
  10. }
  11.  
  12. if (isset($_SESSION['zalogowano_uzytkownik'])) {
  13. echo "Zalogowano jako użytkownik";
  14. if (isset($_POST['submit'])) {
  15. if (isset($_POST['temat_wybrany'])) {
  16. $temat_wybrany = 1;
  17. } else {
  18. $temat_wybrany = 0;
  19. }
  20.  
  21. if (isset($_POST['temat_wykonany'])) {
  22. $temat_wykonany = 1;
  23. } else {
  24. $temat_wykonany = 0;
  25. }
  26.  
  27. if (isset($_POST['temat_link'])) {
  28. $temat_link = $_POST['temat_link'];
  29. }
  30.  
  31. $query = $pdo->prepare('UPDATE tematy SET temat_wybrany=?, temat_wykonany=?, temat_link = ? WHERE temat_id = ?');
  32. $query->bindValue(1, $temat_wybrany);
  33. $query->bindValue(2, $temat_wykonany);
  34. $query->bindValue(3, $temat_link);
  35. $query->bindValue(4, $id);
  36.  
  37. $query->execute();
  38. header('Location: index.php');
  39. }
  40. ?>



Formularz wygląda następująco:
  1. <form action="temat.php" method="post">
  2.  
  3. Rezerwuj temat: <input type="checkbox" name="temat_wybrany" onclick="this.form.elements['temat_wykonany'].disabled = !this.checked"/></br>
  4. Temat wykonany: <input type="checkbox" name="temat_wykonany" disabled="disabled" onclick="this.form.elements['temat_link'].disabled = !this.checked"/></br>
  5. Link do wykonanego tematu: <input type="text" name="temat_link" disabled="disabled"/></br>
  6.  
  7. <input type="submit" value="Gotowe" name="submit" />
  8. </form>
Go to the top of the page
+Quote Post
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Zamień
  1. $query->execute();

na
  1. if(!$query->execute()) print_r($query->errorInfo());
Go to the top of the page
+Quote Post
creepingdeath
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 24.12.2014

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


Nie dostałem żadnej informacji, jednakże samo
  1. print_r($query->errorInfo());
spowodowało wyświetlenie poniższej linijki:

Array ( [0] => [1] => [2] => )
Go to the top of the page
+Quote Post
jackraymund
post
Post #4





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


  1. if (isset($_GET['id'])) {
  2. $id = $_GET['id'];
  3. }

Nigdzie nie widze gdzie ustawiasz get'a. Zamień linijkę.
<form action="temat.php?id=10" method="post">
Go to the top of the page
+Quote Post

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: 22.08.2025 - 12:53