Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] Błędnie interpretowany input -=> php
Forum PHP.pl > Forum > Przedszkole
Efan
Co jest nie tak z tym skryptem,że przy byle jakiej wartości "usun_fotke" skrypt wykonywany jest cały i usuwa fotkę?

  1. <form action="" method="POST" enctype="multipart/form-data">
  2. <input type="checkbox" name="usun_fotke" value="1">
  3. <input type="submit" value="Zmień" name="upf">
  4. </form>


  1. <?php
  2. if($_POST['upf'])
  3. {
  4.  
  5.  if($_POST['usun_fotke']=="1")
  6.  {
  7.     $up="UPDATE ".$pre."user SET user_fotka='' WHERE user_id='".$_SESSION['user_id']."'";
  8.     mysql_query($up);
  9.     exit();
  10.  }
  11.  else
  12.  {
  13.     include("include/fotka.php");
  14.     $fotu=@imggda($ust);
  15.     $up="UPDATE ".$pre."user SET user_fotka='".$fotu."' WHERE user_id='".$_SESSION['user_id']."'";
  16.     mysql_query($up);
  17.  }
  18.  
  19. }
  20. ?>
Fifi209
Nie dajesz mu żadnego value. Przyjmuje wartość 'on' lub nie istnieje.
Pawel_W
checkbox zwraca albo 'on' albo false
potreb
Nie wiem co chcesz osiągnąć ale wszystko jest poprawne.
Checkbox zwraca wartość "1".
Pawel_W
po co ci wogóle to enctype="multipart/form-data", przesyłasz jakiś plik?
planet
może to głupie, ale spróbuj tak:

if((int) $_POST['usun_fotke']== 1)
Efan
A co w przypadku, jeśli wybieram plik do załadowania "plik1" i w przypadku gdy go nie wybieram a skrypt wykonuje to samo?
Jaką wartość przekazuje input w przypadku type="file"

  1. <form action="" method="POST" enctype="multipart/form-data">
  2. <input type="checkbox" name="usun_fotke" value="1">
  3. <input name="plik1" type="file" class="textbox"/>
  4. <input type="submit" value="Zmień" name="upf">
  5. </form>


  1. <?php
  2. if($_POST['upf'])
  3. {
  4.  
  5.  if($_POST['usun_fotke']=="1")
  6.  {
  7.     $up="UPDATE ".$pre."user SET user_fotka='' WHERE user_id='".$_SESSION['user_id']."'";
  8.     mysql_query($up);
  9.     header("Location: ".$ust['adres']."user/panel/7");
  10.     exit();
  11.  }
  12.  else
  13.  {
  14.  if($_POST['plik1']==NULL) //z false też nie działa
  15.  {
  16.  
  17.       header("Location: ".$ust['adres']."user/panel/1");
  18.       exit();
  19.       }
  20.       else
  21.       {
  22.  
  23.  
  24.     include("include/fotka.php");
  25.     $fotu=@imggda($ust);
  26.     $up="UPDATE ".$pre."user SET user_fotka='".$fotu."' WHERE user_id='".$_SESSION['user_id']."'";
  27.     mysql_query($up);
  28.  
  29.  header("Location: ".$ust['adres']."user/panel/5");
  30.  
  31.  }
  32. }
  33.  
  34. }
  35. ?>
Pawel_W
a co za problem sprawdzić? zapewne przekazuje pustą tablicę
Fifi209
Cytat(Efan @ 25.07.2009, 20:39:13 ) *
A co w przypadku, jeśli wybieram plik do załadowania "plik1" i w przypadku gdy go nie wybieram a skrypt wykonuje to samo?
Jaką wartość przekazuje input w przypadku type="file"

  1. <form action="" method="POST" enctype="multipart/form-data">
  2. <input type="checkbox" name="usun_fotke" value="1">
  3. <input name="plik1" type="file" class="textbox"/>
  4. <input type="submit" value="Zmień" name="upf">
  5. </form>


Czytałeś co napisałem? Żadnego value przy checkboxie!!
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.