Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bład w skrypcie
Forum PHP.pl > Forum > Przedszkole
blask-ognia
Skrypt służy do prowadzenia dwuosobowych dyskusji. Wszystko działa poprawnie do momentu dojścia do warunku dodającego odpowiedź do bazy danych (nie dodaje jej, ponieważ zmienne z poprzednich waunków nie sa dodawane. Jak go zmodyfikować?

  1. <HTML>
  2. <HEAD>
  3.     <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  4. </HEAD>
  5. <body>
  6. <?
  7.     if ($x=="tak") 
  8.     {
  9.         if ($_SESSION["zalogowany"]=="tak")
  10.         {    
  11.                 if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) 
  12.                 {
  13.                     if (mysql_select_db($mysql_baza)) 
  14.                     {
  15.                         $wynik = mysql_query("SELECT * FROM pw WHERE (odbiorca='".$_SESSION["login"]."' or nadawca='".$_SESSION["login"]."') and status='poczatek'");
  16.                         while($wynik and $wiersz = mysql_fetch_assoc($wynik)) 
  17.                         {
  18.                             echo
  19.                                 "<form method=\"post\" action=\"rejestracja.php\">
  20.                                     <input type=\"hidden\" name=\"opcja\" value=\"pw\" />
  21.                                     ".$wiersz["temat"]." <input type=\"submit\" value=\"Pokaż\" name=\"send\" style=\"width: 45; height: 15\">
  22.                                     <input type=\"hidden\" name=\"tematdyskusji\" value=\"".$wiersz["temat"]."\" />
  23.                                 </form>";
  24.                         }
  25.                     }
  26.                     else
  27.                     {
  28.                         echo 
  29.                             "<span style=\"color:red;\"><center>Nie można połączyć się z bazą - spróbuj ponownie za chwilę...</center></span>";
  30.                         mysql_close($baza);
  31.                     }
  32.                 }
  33.                 else
  34.                 {
  35.                     echo 
  36.                         "<span style=\"color:red;\"><center>Nie można połączyć się z serwerem MySQL - spróbuj ponownie za chwilę...</center>";
  37.                 }    
  38.             if ($send=="Pokaż")
  39.             {
  40.                 $ztematdyskusji = strip_tags(htmlspecialchars(stripslashes(trim($_POST["tematdyskusji"])), ENT_QUOTES));
  41.                 if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) 
  42.                 {
  43.                     if (mysql_select_db($mysql_baza)) 
  44.                     {
  45.                         $wwynik = mysql_query("SELECT * FROM pw WHERE temat='$ztematdyskusji'");
  46.                         $wwiersz = mysql_fetch_assoc($wwynik);
  47.                         echo
  48.                             "<form method=\"post\" action=\"rejestracja.php\">
  49.                                 <input type=\"hidden\" name=\"opcja\" value=\"pw\" />
  50.                                 <b>Temat: </b>".$wwiersz["temat"]." <input type=\"submit\" value=\"Odpowiedz\" name=\"send\" style=\"width: 70; height: 15\">
  51.                                 <input type=\"hidden\" name=\"tematwiadomosci\" value=\"".$wwiersz["temat"]."\" />
  52.                                 <input type=\"hidden\" name=\"nadawcawiadomosci\" value=\"".$wwiersz["temat"]."\" />
  53.                                 <input type=\"hidden\" name=\"odbiorcawiadomosci\" value=\"".$wwiersz["temat"]."\" />
  54.                             </form>
  55.                             <br /><br />";
  56.                         $wynik = mysql_query("SELECT * FROM pw WHERE temat='$ztematdyskusji'");
  57.                         while($wynik and $wiersz = mysql_fetch_assoc($wynik)) 
  58.                         {
  59.                             echo
  60.                                 "<b>".$wiersz["nadawca"]."</b><br />
  61.                                 ".$wiersz["tresc"]."<br />";
  62.                         }
  63.                     }
  64.                     else
  65.                     {
  66.                         echo 
  67.                             "<span style=\"color:red;\"><center>Nie można połączyć się z bazą - spróbuj ponownie za chwilę...</center></span>";
  68.                         mysql_close($baza);
  69.                     }
  70.                 }
  71.                 else
  72.                 {
  73.                     echo 
  74.                         "<span style=\"color:red;\"><center>Nie można połączyć się z serwerem MySQL - spróbuj ponownie za chwilę...</center>";
  75.                 }
  76.             }    
  77.             if ($send=="Odpowiedz")
  78.             {
  79.                 $nad=$_POST['nadawcawiadomosci'];
  80.                 $odb=$_POST['odbiorcawiadomosci'];
  81.                 $tem=$_POST['tematwiadomosci'];
  82.                 echo
  83.                     "<form method=\"post\" action=\"rejestracja.php\">
  84.                         <input type=\"hidden\" name=\"opcja\" value=\"pw\" />
  85.                         <textarea type=\"text\" name=\"tresc\" rows=\"10\" cols=\"20\"></textarea><br />
  86.                         <input type=\"submit\" value=\"Wyślij\" name=\"send\" style=\"width: 50; height: 18\">
  87.                         <input type=\"hidden\" name=\"co\" value=\"".$wiersz["temat"]."\" />
  88.                     </form>";
  89.             }    
  90.             if ($send=="Wyślij")
  91.             {
  92.                 $date=time();
  93.                 $trescwiadomosci = strip_tags(htmlspecialchars(stripslashes(trim($_POST["tresc"])), ENT_QUOTES));
  94.                 if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) 
  95.                 {
  96.                     if (mysql_select_db($mysql_baza)) 
  97.                     {
  98.                         if ($nad==$_SESSION["login"])
  99.                         {
  100.                               $zapytanie = "INSERT INTO pw SET odbiorca='$odb', nadawca='$nad', status='odpowiedz', temat='$tem',  tresc='$trescwiadomosci', data='$date'";
  101.                               $wykonaj = mysql_query ($zapytanie);
  102.                         }
  103.                         if ($odb==$_SESSION["login"])
  104.                         {
  105.                               $zapytanie = "INSERT INTO pw SET odbiorca='$nad', nadawca='$odb', status='odpowiedz', temat='$tem',  tresc='$trescwiadomosci', data='$date'";
  106.                              $wykonaj = mysql_query ($zapytanie);
  107.                         }
  108.                         echo "
  109.                         <input type=\"text\" value=\"$date\" name=\"email\" size=\"20\">
  110.                         <input type=\"text\" value=\"$nad\" name=\"email\" size=\"20\">
  111.                         <input type=\"text\" value=\"$odb\" name=\"email\" size=\"20\">
  112.                         <input type=\"text\" value=\"$tem\" name=\"email\" size=\"20\">
  113.                         <input type=\"text\" value=\"$treswiadomosci\" name=\"email\" size=\"20\">";
  114.                     }
  115.                     else
  116.                     {
  117.                         echo 
  118.                             "<span style=\"color:red;\"><center>Nie można połączyć się z bazą - spróbuj ponownie za chwilę...</center></span>";
  119.                         mysql_close($baza);
  120.                     }
  121.                 }
  122.                 else
  123.                 {
  124.                     echo 
  125.                         "<span style=\"color:red;\"><center>Nie można połączyć się z serwerem MySQL - spróbuj ponownie za chwilę...</center>";
  126.                 }
  127.             }        
  128.         
  129.         }
  130.         else
  131.             echo
  132.                 "<span style=\"color:red;\"><center>Nie możesz zobaczyć swojej skrzynki będąc niezalogowanym...</center>";
  133.     }            
  134.     else
  135.     {        
  136.         die();
  137.     }
  138. ?>
  139. </body>
  140. </html>


Dla sprawdzenia, czy przed dodawaniem danych do bazy w ogóle zmienne mają jakieś wartości dodałem to

  1. <?php
  2. <input type=&#092;"text\" value=\"$nad\" name=\"email\" size=\"20\">
  3.                         <input type=&#092;"text\" value=\"$odb\" name=\"email\" size=\"20\">
  4.                         <input type=&#092;"text\" value=\"$tem\" name=\"email\" size=\"20\">
  5.                         <input type=&#092;"text\" value=\"$treswiadomosci\" name=\"email\" size=\"20\">";
  6. ?>


Wszystkie są puste (oprócz daty).
ferr
  1. <?php
  2. <form method=&#092;"post\" action=\"rejestracja.php\">
  3. ?>


No jesli ten formularz ma za zadanie dodawac posty, to sie nie dziwie, ze nie dziala (action=rejestracja.php)
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.