Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP][HTML] Problem z przypisaniem wartosci pola hidden
Forum PHP.pl > Forum > Przedszkole
agentmullder
Witam. Tworze strone internetowa o dziedzinie motoryzacyjnej. Zrobilem jedna podstrone jako formularz zarzadzania samochodami posiadanymi przez pewna wypozyczalnie. Problem polega na tym, iz pewny fragment kodu w srodowisku webserwer na PC dziala poprawnie, ale jak wrzucilem na darmowy serwer yoyo.pl przestal dzialac. Jestem niemal pewny, ze blad tkwi w tym fragmencie kodu:

  1. <td>
  2. <input type="submit" name="usun2" value="" />
  3. <input type="hidden" name="usun" value="<?php echo $wybr="{$wiersz['flota_vin']}"?>" />
  4.  
  5. </td>


Z moich obserwacji wynika, ze wartosc (value) pola hidden "usun" nie chce przybrac wartosci <?php echo $wybr="{$wiersz['flota_vin']}"?>. Jesli pod spodem wydrukuje echo $wybr to wypisze mi prawidlowa wartosc. Jesli wydrukuje echo $usun to nic sie nie pojawa, a powinno to samo.
Czy ktos jest w stanie mi pomoc?
adasiu
W tym momencie robisz przypisanie do zmiennej $wybr
Jeżeli chcesz przypisać wartość do samego hiddena to sugeruję

  1. <input type="hidden" name="usun" value="<?= $wiersz['flota_vin'] ?>" />


a jeżeli chcesz zrobić wcześniej przypisanie to wtedy tak:

  1. <?php $wybr = $wiersz['flota_vin']; ?>
  2. <input type="hidden" name="usun" value="<?= $wybr ?>" />


pozdrawiam
tehaha
domyślam się, że problem tkwi w global_registers, po wysłaniu formularza do zmiennej odwołujesz się przez $_POST['usun']; a jeżeli ma być w zmiennej $usun, to $usun = $_POST['usun'];
agentmullder
@adasiu - nic z tych rzeczy, nawet sam znak rownosci nie moze sobie tam byc tak bez niczego. Obie wersje nie dzialaja.


Cytat(tehaha @ 20.07.2010, 13:21:58 ) *
domyślam się, że problem tkwi w global_registers, po wysłaniu formularza do zmiennej odwołujesz się przez $_POST['usun']; a jeżeli ma być w zmiennej $usun, to $usun = $_POST['usun'];


Usuwanei to mam tak zrobione:

  1. if(isset($_POST['usun2'])){
  2. $usun_auto = "DELETE FROM flota WHERE flota_vin='".$usun ."'";
  3. $usun_auto_wykonaj = mysql_query($usun_auto);}
tehaha
chodzi o to, że dane przesłane formularzem metodą post, są dostępne w tablicy $_POST, a nie pod takimi zmiennymi jak używasz, na komputerze takie coś Ci działało bo w tych programach typu wamp, xampp, krasnal często global_registers są ustawione na on, a na serwerze już nie, dlatego zmienna $usun jest pusta, i musisz zrobić wyżej $usun = $_POST['usun']; czyli do zmiennej przypisać wartość przesłaną formularzem, która znajduje się w tablicy $_POST, daj sobie gdzieś print_r($_POST) i zobaczysz, że po wysłaniu formularza wszystkie dane są w tej tablicy
agentmullder
Czyli wygladaloby to tak?

  1. <td>
  2. <?php $usun = $_POST['usun']; ?>
  3. <input type="submit" name="usun2" value="" />
  4. <input type="hidden" name="usun" value="<?php echo $wybr="{$wiersz['flota_vin']}"?>" />
  5.  
  6. </td>


Czy moze $usun = $_POST['usun']; umieszcza sie w innym miejscu, np tam gdzie obsluga przycisku [usun] ?
tehaha
nie w formularzu, tylko tam gdzie odbierasz i przetwarzasz dane formularza pokazałeś ten kod:
  1. if(isset($_POST['usun2'])){
  2. $usun_auto = "DELETE FROM flota WHERE flota_vin='".$usun ."'";
  3. $usun_auto_wykonaj = mysql_query($usun_auto);}


i z tego co zrozumiałem to na Twoim kompie działał, a na serwerze już nie, i to dlatego, że zmienna $usun jest pusta i trzeba jej przypisać wartość z tablicy $_POST

  1. if(isset($_POST['usun2'])){
  2. $usun = $_POST['usun'];
  3. $usun_auto = "DELETE FROM flota WHERE flota_vin='".$usun ."'";
  4. $usun_auto_wykonaj = mysql_query($usun_auto);}
agentmullder
Cytat(tehaha @ 20.07.2010, 14:45:03 ) *
nie w formularzu, tylko tam gdzie odbierasz i przetwarzasz dane formularza pokazałeś ten kod:
  1. if(isset($_POST['usun2'])){
  2. $usun_auto = "DELETE FROM flota WHERE flota_vin='".$usun ."'";
  3. $usun_auto_wykonaj = mysql_query($usun_auto);}


i z tego co zrozumiałem to na Twoim kompie działał, a na serwerze już nie, i to dlatego, że zmienna $usun jest pusta i trzeba jej przypisać wartość z tablicy $_POST

  1. if(isset($_POST['usun2'])){
  2. $usun = $_POST['usun'];
  3. $usun_auto = "DELETE FROM flota WHERE flota_vin='".$usun ."'";
  4. $usun_auto_wykonaj = mysql_query($usun_auto);}



O człowieniu biggrin.gif Dziala jak ta lala. Teraz juz wiem czemu wiele osob radzilo mi, abym testowal wlasnie na takim serwerze, a nie na takim syfie jak wirtualny symulator php.
Masz ode mnie 'pomogl' +1 tongue.gif Dalbym wiecej ale nie mam jak smile.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.