Problem sa slanjem podataka preko HTML forme

Pozdrav,

Imam malih problema pri slanju odnosno dohvacanju podataka koje saljem preko html forme. Pretpostavljam da je neka glupa greska u pitanju, ali vec pola sata se mucim i ne mogu da skontam do cega je.

				<form name="hosting_package" action="http://www.will.sx/hosting-packages.php" id="package_baby_form" method="POST">
					<li class="package">
						<h3>Baby Panda Package</h3>
						<div id="baby-panda">
							<ul>
								<li name="single_domain">Single Domain</li>
								<li name="disk_space"><span>unlimited</span> Disk Space</li>
								<li name="bandwidth" value="unlimited Bandwidth"><span>unlimited</span> Bandwidth</li>
								<li name="single_domain">Shared SSL Certificate</li>
							</ul>
							<select class="package-select" name="package" data-placeholder="Starting at $1.95/Mo">
        						<option value=""></option>
								<option value="1_baby">3 Years - $2.95/Mo</option>
								<option value="2_baby">2 Years - $3.95/Mo</option>
								<option value="3_baby">1 Year - $4.95/Mo</option>
								<option value="4_baby">6 Months - $5.95/Mo</option>
								<option value="5_baby">Monthly - $6.95/Mo</option>
							</select>
							<input type="hidden" name="someName" value="helloworld" />
							<a href="#" class="btn-shadow" onclick="document.getElementById('package_baby_form').submit();"></a>
						</div>
					</li>
					</form>

Forma je napisana iznad, a vrijednosti forme koja je submitana pokusavam ispisati na sl nacin:

$package_id = htmlspecialchars($_POST["package"]);//ovo mi se uredno ispise
echo $package_id;
$bandwidth = htmlspecialchars($_POST["bandwidth"]); //bandwidth mi se ne ispisuje...
echo $bandwidth;

Svaka vrsta pomoci je dobro dosla.

Hvala

  1. Ja osobno ne koristim taj pristup slanja podataka preko forme, već direktno preko ajax-a.
  2. Koliko znam, dozvoljeno je raditi samo jedan echo po responsu, tako da ako radiš echo $package_id te nakon toga echo $bandwith, moguće da je do toga.
  3. Pogledaj malo html_purify šta radi, koristan je iznimno.
  4. Isto tako, kada primam podatke sa klijenta, obavezno radim json_decode( $data ) ( ako uzmeš da je $data skup podataka poslan ajax-om ), i kada vraćam response radim echo json_encode( $resp ), ili samo echo ‘0’ / ‘1’.

veze taj tvoj odgovor nema sa onim sto on pita…

uglavnom, nemas input polja s nazivom(name) bandwidth, tako da ga nemos niti imati u $_POST arrayu da bi ga ispisao…

1 Like
  1. Zašto bi moralo biti input polje?
  2. Što se html_purifia tiče, to je savjet bio samo, isto kao i za ajax. Ako radi preko ajax-a, nek potrpa sve što mu treba u jedan array/object i sa servera nek to raspakira i dobro.

zbog ovog:

$bandwidth = htmlspecialchars($_POST["bandwidth"]);

Mislio sam ako šalje te podatke kao array ili object.

<li name="bandwidth" value="unlimited Bandwidth"><span>unlimited</span> Bandwidth</li>

ovo nije form element, niti li ima value parametar. Ako zeli poslati taku neku ‘vrijednost’ mora je povuci recimo s jqueryem i poslati preko post/get requesta.

sto se tice echo-a, to nema nikake veze, sve sto se ispisuje pomocu echo ce se ispisati, ali njemu ne postoji takvo polje “bandwith” koje bi poslije pomocu $_POST mogao ispisati.

Hvala vam svima. Zerocools otkocio si me odmah cim si napisao da nemam input polje tako da sam napravio input polja koja su hidden i preko kojih saljem vrijednosti koje ce svakako biti hardcodirane ( mislim ove u

  • listi ), dok vrijednosti u select dropdown listi nece biti hardkodirane, ali od njih kupim values i imam dva lookup arraya preko kojeg odnosno kojih dobijam vrijednosti imenage ‘hosting paketa’ kojeg je korisnik odabrao, dok je u drugom pohranjena cijena.

    Jos jednom zahvaljujem svima na pomoci.