Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]metoda $_GET i brak reakcji
Forum PHP.pl > Forum > Przedszkole
jobp33
Witam
Przesyłam id produktu do edycji jego danych w bazie ale po "przesłaniu" otwiera się docelowa strona i nic się na niej nie wyswietla.

plik edytuj.php
  1. <html>
  2. <head>
  3. <meta charset="UTF-8">
  4. <title></title>
  5. </head>
  6. <body>
  7. <?php
  8.  
  9. include('bazadanych/baza.php');
  10.  
  11. if (isset($_GET['id_uzytkownika'])){
  12.  
  13.  
  14. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  15. if($polaczenie->connect_errno!=0){
  16. echo"Error:".$polaczenie->connect_errno;}
  17.  
  18. if (isset($_GET['id_samochodu'])){
  19.  
  20. $id = $_GET['id_samochodu'];
  21.  
  22. if (isset($_POST['dodaj'])) {
  23.  
  24. $upd= "UPDATE `samochody` SET
  25.  
  26. model LIKE '".nl2br($_POST['model'])."',
  27. marka LIKE '".nl2br($_POST['marka'])."',
  28.  
  29.  
  30. where id_samochodu LIKE '".$_GET['id_samochodu']."';
  31.  
  32. }
  33. $sql = "SELECT * FROM samochody WHERE id_samochodu LIKE '".$_GET['id_samochodu']."'";
  34.  
  35. if ($wynik=@$polaczenie->query($sql)){
  36. $rows=$wynik->num_rows;
  37. if($rows>0){
  38. $rekordy=$wynik->fetch_assoc();
  39. ?>
  40.  
  41. <form method="post" action="edytuj.php">
  42. <table border="1">
  43. <thead>
  44. <tr>
  45. <th>Nazwa kolumny</th>
  46. <th>Wartość</th>
  47. </tr>
  48. </thead>
  49. <tbody>
  50. <tr>
  51. <td>MODEL</td>
  52. <td><input type="text" name="model" value="<?php echo $rekordy['model'] ?>"></td>
  53. </tr>
  54. <tr>
  55. <td>MARKA</td>
  56. <td><input type="text" name="marka" value="<?php echo $rekordy['marka']?>"></td>
  57. </tr>
  58.  
  59. <tr>
  60. <td></td>
  61. <td><input type="submit" name="dodaj" value="Dodaj"></td>
  62. </tr>
  63. </tbody>
  64.  
  65. </table>
  66.  
  67. <?php
  68. }
  69. }
  70.  
  71. $polaczenie->close();
  72.  
  73. ?>
  74. </form>
  75. <?php }} ?>
  76. </body>
  77. </html>


Plik samochody.php

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <?php
  9.  
  10. include('bazadanych/baza.php');
  11.  
  12.  
  13.  
  14. ?>
  15.  
  16. </div>
  17. <br>
  18. <br>
  19. <table border="3" width="100%" cellspacing="0" cellpadding="4">
  20. <tr>
  21.  
  22. <td align="center" bgcolor="#3f9eff">Mdel</td>
  23. <td align="center" bgcolor="#3f9eff">Marka</td>
  24.  
  25. </tr>
  26.  
  27.  
  28. <?php
  29.  
  30.  
  31. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  32. if($polaczenie->connect_errno!=0){
  33. echo"Error:".$polaczenie->connect_errno;
  34. }else{
  35.  
  36. $sql = "SELECT * FROM samochody ORDER BY model ASC";
  37. if ($wynik=@$polaczenie->query($sql)){
  38. $rows=$wynik->num_rows;
  39. if($rows>0){
  40. while ( $rekordy=$wynik->fetch_assoc()){
  41.  
  42.  
  43. ?>
  44.  
  45. <tr onMouseOver="this.bgColor='#a5c7d0'" onMouseOut="this.bgColor='#ffffff'">
  46.  
  47.  
  48. <td valign="top"><?php echo $rekordy['model']?>&nbsp;</td>
  49. <td valign="top"><?php echo $rekordy['marka']?>&nbsp;</td>
  50. <td valign="top"><a href = edytuj.php?id=<?php echo $rekordy['id_samochodu']?>>edytuj</a>&nbsp;</td>
  51.  
  52.  
  53. </tr>
  54.  
  55. <?php
  56.  
  57. }
  58. }
  59. }
  60. }
  61. $polaczenie->close();
  62.  
  63. ?>
  64.  
  65. </table>
  66.  
  67. </body>
  68. </html>
Tomplus
Sprawdzałeś źródło strony czy w ogóle masz tagi HTML?

Sprawdzałeś błędy, tak krok po kroku, w którym warunku coś spełniasz, a w którym nie?

Sprawdzałeś czy w ogóle błędy MySQL masz widoczne, bo może musisz sprawdzić logi na serwerze?
jobp33
Nie wiem jak to zrobiłem ale teraz już po naciśnięciu "edytuj" przerzuca na kolejną stronę i wyświetla odpowiednie dane w tabeli. Niestety nie chce dodawać zmian. Mam teoretycznie obsługę błędów zapytania bazy ale nic się nie wyświetla. Oto kod:

  1. <html>
  2. <head>
  3. <meta charset="UTF-8">
  4. <title></title>
  5. </head>
  6. <body>
  7. <?php
  8.  
  9. include('bazadanych/baza.php');
  10.  
  11. if (isset($_GET['id'])){
  12.  
  13.  
  14.  
  15. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  16. if($polaczenie->connect_errno!=0){
  17. echo"Error:".$polaczenie->connect_errno;} else{
  18.  
  19. $idd = $_GET['id'];
  20. // echo '$idd';
  21.  
  22. if (isset($_POST['dodaj'])) {
  23.  
  24. $model = $_POST['model'];
  25. $marka = $_POST['marka'];
  26.  
  27.  
  28. $upd= "UPDATE samochody SET model='$model', marka='$marka', WHERE id_samochodu='$idd'";
  29. echo 'ok';
  30. if($connect->query($upd) === TRUE){ echo 'ok';} else{ echo "Error updating record: " . $polaczenie->error;;}
  31. }
  32.  
  33. $sql = "SELECT * FROM samochody WHERE id_samochodu LIKE '$idd'";
  34.  
  35. if ($wynik=@$polaczenie->query($sql)){
  36. $rows=$wynik->num_rows;
  37. if($rows>0){
  38. while ($rekordy=$wynik->fetch_assoc()){
  39. ?>
  40. <form method="post" action="edytuj.php">
  41. <table border="1">
  42. <thead>
  43. <tr>
  44. <th>Nazwa kolumny</th>
  45. <th>Wartość</th>
  46. </tr>
  47. </thead>
  48. <tbody>
  49. <tr>
  50. <td>model</td>
  51. <td><input type="text" name="model" value="<?php echo $rekordy['model'] ?>"></td>
  52. </tr>
  53. <tr>
  54. <td>marka</td>
  55. <td><input type="text" name="marka" value="<?php echo $rekordy['marka'] ?>"></td>
  56. </tr>
  57.  
  58. <tr>
  59. <td></td>
  60. <td><input type="submit" name="dodaj" value="Dodaj"></td>
  61. </tr>
  62.  
  63. </tbody>
  64.  
  65. </table>
  66. </form>
  67. <?php
  68. }
  69. }
  70. }
  71. }
  72.  
  73. $polaczenie->close();
  74. }
  75. ?>
  76.  
  77.  
  78.  
  79.  
  80.  
  81. </body>
  82. </html>
patwoj98
Może skasuj ten warunek ($connect->query($upd) === TRUE) i ustaw samo ($connect->query($upd)) co oznacza to samo, ale wielkość liter może mieć znaczenie (zwrócone zostaje true, a Ty wymagasz aby true było identyczny co TRUE, a nigdy nie będzie). Druga sprawa, sqlinjection wink.gif
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.