Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql] Problem z przesyłaniem zmiennych pomiędzy plikami
Forum PHP.pl > Forum > Przedszkole
Paweł.ps
Witam
Mam takie pytanie, może mi ktoś powiedzieć dlaczego nie zapisuje mi do bazy artykułów poniższy kod.
pierwszy skrypt pobiera dane a drugi jest do zapisywania.
  1. <?php
  2. require_once '../funkcje/cms_polacz.php';
  3. $title = '';
  4. $body = '';
  5. $article = '';
  6. $authorid = '';
  7. if (isset($_GET['a'])
  8. and $_GET['a'] == 'edit'
  9. and isset($_GET['article'])
  10. and $_GET['article']) {
  11. $sql = "SELECT tytul,body,autor_id FROM cms_artykul " .
  12.  "WHERE artykul_id=" . $_GET['article'];
  13. $result = mysql_query($sql, $polacz)
  14. or die('Nie potrafię pobrać danych artykułu: ' . mysql_error());
  15.  
  16. $row = mysql_fetch_array($result);
  17.  
  18. $title = $row['tytul'];
  19. $body = $row['body'];
  20. $article = $_GET['article'];
  21. $authorid = $row['autor_id'];
  22. }
  23. require_once 'cms_naglowek.php';
  24. function odswiez()
  25. {
  26. header("Refresh: 1; URL=cms_napisz_ogloszenie.php " );
  27. echo "Zakończono proces rejestracji! " .
  28.  "Zostaniesz przeniesiony do oryginalnej storny!<br>";
  29. echo "(Jeśli przeglądarka nie obsługuje przekierowań, " .
  30.  "<a href="cms_napisz_ogloszenie.php">kliknij tutaj</a>)";
  31. die();
  32.  
  33. }
  34. ?>
  35. <html>
  36. <head>
  37. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  38. <LINK href="styl.css" rel="stylesheet" type=text/css>
  39. </head>
  40. <body class="text" bgcolor=#E9EFF0>
  41. <?php
  42. echo '
  43. <form action="cms_napisz_ogloszenie.php" method="post">
  44. <select name="nazwa" onclick=odswiez()>
  45. <option value="1"> Jedzienie </option>
  46. <option value="2"> Puby </option>
  47. <option value="3"> Hotele </option>
  48. <option value="4"> Kina </option>
  49. <option value="5"> Ważne Instytucje </option>
  50. <option value="6"> Edukacja </option>
  51. <option value="7"> Parkingi </option>
  52. <option value="8"> Bankomaty </option>
  53. <option value="9"> Użędy pocztowe</option>
  54. <option value="10"> Tel. alarmowe </option>
  55. <option value="11"> Komunikacja </option>
  56. <option value="12"> Ogłoszenia </option>
  57. <option value="13"> Aktualności </option>
  58. </select><br><br>
  59. <input type="submit" class="submit" name="glowna_kateg" value="Wybierz głowny dział">
  60. </form><br>';
  61.  
  62.  
  63. if (isset($_REQUEST['glowna_kateg']))
  64. {
  65. $adres= $_POST['nazwa'];
  66.  
  67.  
  68.  
  69. switch ($adres)
  70. {
  71. case 1:
  72. { echo 
  73. <form action="cms_napisz_ogloszenie.php" method="post">
  74. <select name="adres" onclick=odswiez() >
  75. <option value="1.1"> Restauracje </option>
  76. <option value="1.2"> Pizzerie </option>
  77. <option value="1.3"> Fast-food </option>
  78. <option value="1.4"> Kawiarenki </option>
  79. </select><br><br>
  80. <input type="submit" class="submit" name="_dzial" value="wybież kategorie"></form><br>';
  81.  
  82. //break;
  83. }
  84.  
  85. }
  86. }else echo "Wybierz kategorie do której doodasz artykuł<br>";
  87. if (isset($_REQUEST['_dzial']))
  88. {
  89. echo $_POST['adres'];
  90. }
  91.  
  92.  ?>
  93.  
  94. <br>
  95.  
  96. <form method="post" action="cms_transakcja_artykulu.php">
  97. <fieldset>
  98. <legend>
  99. Napisz Ogłoszenie</legend>
  100. <br>
  101.  
  102. <br><br>
  103. Tytuł:<br>
  104. <input type="text" class="title" name="title" maxlength="255"
  105. value="<?php echo htmlspecialchars($title); ?>">
  106.  
  107. <br>
  108. Treść:<br>
  109. <textarea class="body" name="body" rows="14" cols="75"><?php
  110. echo htmlspecialchars($body); ?></textarea>
  111. <br>
  112.  
  113. <?php 
  114. if (isset($_REQUEST['_dzial']))
  115. {
  116. echo '<input type="hidden" name="adres" value="'.
  117. $_POST['adres'] . "">n";
  118. }
  119. else //";
  120.  
  121. echo '<input type="hidden" name="article" value="' .
  122.  $article . "">n";
  123.  
  124.  
  125.  
  126. if ($article) {
  127. echo '<input type="submit" class="submit" name="action" ' .
  128.  "value="Zapisz zmiany">n";
  129. } else {
  130. echo '<input type="submit" class="submit" name="action" ' .
  131.  "value="Wyślij nowy artykuł">n";
  132. }
  133. ?>
  134. </fieldset>
  135. </p>
  136. </form>
  137. </body>
  138. </html>


A oto drugi plik (cms_transakcja_artukulu) przyjmujący dane i zapisujący do bazy:
  1. <?php
  2. require_once '../funkcje/cms_polacz.php';
  3. require_once 'http.php';
  4.  
  5. if (isset($_REQUEST['action'])) {
  6. switch ($_REQUEST['action']) {
  7. case 'Wyślij nowy artykuł':
  8. if (isset($_POST['title'])
  9. and isset($_POST['body'])
  10. and isset($row['login']))
  11. {
  12. $sql = "INSERT INTO cms_artykul " .
  13.  "(dzial, tytul,body, autor_id, data_dodania) " .
  14.  "VALUES ('".$_POST['adres'] . 
  15.  "','" . $_POST['title'] . 
  16.  "','" . $_POST['body'] .
  17.  "'," . $_POST['autor_id'] . ",'" .
  18.  date("Y-m-d H:i:s", time()) . "')";
  19.  
  20. mysql_query($sql, $polacz)
  21. or die('Nie mogę wysłać artykułu: ' . mysql_error());
  22. }
  23. redirect('cms_podzial_artykulow.php');
  24. break;
  25.  
  26. case 'Edytuj':
  27. redirect('cms_napisz_ogloszenie.php?a=edit&article=' . $_POST['article']);
  28. break;
  29. ..........
  30. ?>


Oczywiście powinien działać tylko dola pierwszej kategorii "Jedzenie" i jego poddziaów.
Bardzo proszę o pomoc.
pozdrawiam Paweł
Kicok
Jeśli zapytanie się nie wykonuje i nie wyrzuca żadnego błędu, to najprawdopodobniej nie jest spełniony warunek instrukcji warunkowej, która jest wyżej.
Co to jest za zmienna: $row? W cms_polacz.php ją deklarujesz?

Cytat
  1. <?php
  2. // ...
  3. and isset($row['login']))
  4. // ...
  5. ?>
Paweł.ps
  1. <?php
  2. $sql = "INSERT INTO cms_artykul " .
  3.  "(dzial, tytul,body, autor_id, data_dodania) " .
  4.  "VALUES ('".$_POST['adres'] . 
  5.  "','" . $_POST['title'] . 
  6.  "','" . $_POST['body'] .
  7.  "'," . $_POST['autor_id'] . ",'" .
  8.  date("Y-m-d H:i:s", time()) . "')";
  9.  
  10. mysql_query($sql, $polacz)
  11. or die('Nie mogę wysłać artykułu: ' . mysql_error());
  12. ?>

Faktycznie, nie wiem dlaczego tam jest row blinksmiley.gif
Ale gdy już poprawiłem to jest kolejny błąd już w zapytaniu do bazy.
nie "widzi" zmiennej $_POST['adres'] Dlaczego, chyba ją przesłałem ?


A Już wszystko działa, dałem rade sobie porawić ten "Adres".
Dzięki za pomoc Kicok
Pozdrawiam
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.