Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze zmienną w bindValue
Forum PHP.pl > Forum > PHP
creepingdeath
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>
Turson
Zamień
  1. $query->execute();

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

Array ( [0] => [1] => [2] => )
jackraymund
  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">
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.