Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z $_POST
Forum PHP.pl > Forum > PHP
billy235
Witam

Kod
  
   echo "coś tam coś tam";                               //to sie wypisuje
   $zmienna = $_POST['zmienna'];
   if ($zmienna)
   {
     $zmien_ocene=mysql_query("UPDATE tabela SET zmienna='$zmienna' WHERE id='3'");  //to sie wykonuje
     echo "cokolwiek";                                     //nie wypisuje tego
   }


Dlaczego tak jest??
PawelC
Wklej cały kod to Ci powiem gdzie jest błąd. A po co dałeś to if ($zmienna) skoro niewskazałeś jaki ma spełnić warunek. I powiedz mi co ma ten kod zrobić?

Zobacz to:
  1. <?php
  2. echo "coś tam coś tam";
  3.  $zmienna = $_POST['zmienna'];
  4.  $zmienna="UPDATE tabela SET zmienna='$zmienna' WHERE id='3'";
  5.  if (mysql_query($zmienna)){
  6.  print "Cokolwiek";}
  7. ?>
billy235
Kod
$ocena_ad = $_POST['ocena_ad'];

echo "coś ";           // pokaże się
if ($ocena_ad)
{

    echo "coś tam";           //nie pokaże się
    if ($ocena_ad >= 1 && $ocena_ad <= 5)  // zabezpieczna przed wysłaniem zawyrzonych lub zaniżonych ocen
    {
         echo "coś tam coś";           //nie pokaże się

                $zmiana_oceny = $ocena + $ocena_ad;
        $ile_ocen_new = $ile_ocen+1;
        $zmien_ocene=mysql_query("UPDATE $galeria SET ocena='$zmiana_oceny' WHERE id='$id_fot'");
        $zmien_ocene1=mysql_query("UPDATE $galeria SET ile_ocen='$ile_ocen_new' WHERE id='$id_fot'");
        $sr = round($zmiana_oceny/$ile_ocen_new,2);
        $zmien_ocene2=mysql_query("UPDATE $galeria SET ocena_pok='$sr' WHERE id='$id_fot'");
        
             // powyższe zapytania wykonają się oczywiście dla odpowiednich ocen
          
             echo "coś tam coś tam ";           //nie pokaże się

         }
        else  // dla postrachu tych którzy wysyłają oszukańczą ocenę
        {
                    $twoje_ip=pobierz_ip();
                    
                echo "<h2>wykryto próbę oszustwa, twój adres ip: $twoje_ip został zapisany</h2>";  // nie pokaże się
              if ($_SERVER['HTTP_REFERER'])
                    {  
                         $adres_ataku=$_SERVER['HTTP_REFERER'];
                         echo "adres strony z której to zrobiłeś to: $adres_ataku ";   // nie pokaże się
                    }    
                    
        }

}



To też jest fragment bo całość to duży skrypt IMGallery chcę trochę to zmodyfikowałem bo mi ludzie oceny zawyżone wysyłali. dozwolone są oceny 1 2 3 4 5 a ktoś z innej strony wysyłał formularz który niósł ocenę np 3333. oryginalnie nie ma takiego zabezpieczenia.

Cytat
A po co dałeś to if ($zmienna)

jeśli zmianna bedzie miała wartość inną niż pusta lub 0 to if zwróci true


Gdyby to samo zrobić za pomocą $_GET to zadziała poprawnie oczywiście w formularzu nie pomyliłem method="post" z method="get"
PawelC
Lepiej było by zrobić takie coś, że jeżeli $zmienna jest większa od 5 to wyświetli błąd a jeżeli mniejsza to ja zaakceptuje. Ja takie coś stosuje i jak narazie dobrze się sprawdza.
billy235
Cytat
Lepiej było by zrobić takie coś, że jeżeli $zmienna jest większa od 5 to wyświetli błąd a jeżeli mniejsza to ja zaakceptuje. Ja takie coś stosuje i jak narazie dobrze się sprawdza.



heee to tutaj w ogóle nie ma znaczenia ale i tak by było bez sensu bo ktoś może wysłać notę np -3333 i to też mi sporo psuje
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.