Forum » Programiranje » PHP problem
PHP problem
Pehko ::
Hoi ,
Imam eno nujno vprašanje v zvezi z shranjevanjem spremenljivk v PHP sticki skriptah
LP
Imam eno nujno vprašanje v zvezi z shranjevanjem spremenljivk v PHP sticki skriptah
('<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">')zanima me pa kako je možno shraniti spremenljivko oz. v tem primeru polje(array(npr. arr[x])) brez tega ,da bi ga vstavil kot vrednost v gumb/polje ... rabim pa ker so gumbi katere uporabljam že zasedeni za drugo funkcijo (vsebujejo podatke o izdelku katerega se bo shranilo v račun)
LP
thelole ::
Če prov razumem bi rad ti clientu poslal to spremenljivko da si jo shran...
lahko ga shraniš v
alpa v cookie
pač čis odvisno od tega za kaj rabiš to vrednost
lahko ga shraniš v
"<input type=\"hidden\" value=\"$vrednost\">";
alpa v cookie
setcookie("ime", "vrednost");
pač čis odvisno od tega za kaj rabiš to vrednost
Pehko ::
emmm imam še eno vprašanje sem poskusil naredit z $_SESSION array kateri ,bi se sam dopoljeva samo toliko za test pa mi stvar ne deluje kot si želim če mi lahko kdo pove kaj je problem bi mi to zelo pomagalo
izpiše mi pa eror
Notice: Undefined index: $arr[$i] in /opt/lampp/htdocs/session.php on line 19
<html> <head> </head> <body> <?php $x = 0; $arr = array ( 1 => 1); session_start(); if (isset($_POST['izbira'])) $_SESSION['test']=$_SESSION['test']+1; else $_SESSION['test']=1; $x=$_SESSION['test']; for ($i=1 ;$x>=$i; $i++) $arr[$i]= $_SESSION['$arr[$i]']; // tu sem mislil dopolnjevati array $arr[$x]= $_SESSION['test']; for ($i=1; $x>=$i; $i++) echo $arr[$i]; // izpis arraya ?> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="submit" value="<?php echo $_SESSION['test']; ?>" name="izbira"> <?php ?> </body> </html>
izpiše mi pa eror
Notice: Undefined index: $arr[$i] in /opt/lampp/htdocs/session.php on line 19
Zgodovina sprememb…
- spremenilo: Pehko ()
AndyS ::
Lažje ti bo programirat in debugirat, ko se boš odločil in začel uporabljati zavite oklepaje in se boš odločil, kdaj boš uporabljal enojne in kdaj dvojne narekovaje.. Ker tale koda je disaster za brat
Pehko ::
to mi je čisto jasno ampak sem tole tu samo nametal ,da bi stestiral če stvar deluje tako kot sem si jo zamislil in opazil ,da to ne. dejansko me samo zanima kako z Seession shranit celotno polje in ga ponovno uporabit
Ziga Dolhar ::
$_SESSION['burek'] = $mojVelikiBurekArray;
Drgač pa ...
$_SESSION['$arr[$i]']
Brrrrrr!!!!!!!
Drgač pa ...
$_SESSION['$arr[$i]']
Brrrrrr!!!!!!!
https://dolhar.si/
MrBrdo ::
ales ni treba samo preden se referencira session in preden se karkoli izpise mora bit
MrBrdo
AndyS ::
Pehko ::
HVala vsem za pomoč do zdaj ampak stvar mi enostavno ne deluje kot bi mogla skripto sem sedaj nekaj predelal probem pa je ,da mi ne shrani celotnega arraya ampak samo posamezen tab npr samo vrednost na poiciji 3 1,2 se pa "izgubi" hvala za pomoč
pri izpisu pa izgleda tako
The value of $_SESSION['0'] is '0'
The value of $_SESSION['1'] is 'Printer hp 7890'
The value of $_SESSION['2'] is 'Cevapcici'
The value of $_SESSION['0'] is '0'
The value of $_SESSION['2'] is 'Cevapcici'
The value of $_SESSION['3'] is 'Coca cola'
lp
<html> <head> </head> <body> <?php $x = 0; $arr = array(0=>0); session_start(); if (isset($_POST['izbira'])){ foreach ($_SESSION['izbrani_izdelki'] as $key=>$value){ echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />'; } $x = $_SESSION['x']; $arr[$x]= $_POST['izbira']; echo 'The value of $_SESSION['."'".$x."'".'] is '."'".$arr[$x]."'".' <br />'; } $db = mysqli_connect ('localhost','root','test','blagajna'); $sql = "SELECT * FROM izdelki "; $rezultat = mysqli_query ($db ,$sql) ; $x++; $_SESSION['x'] = $x; $_SESSION['izbrani_izdelki']=$arr; while ($preizkus = mysqli_fetch_array($rezultat)){ if ($preizkus['pravice'] == 1){ ?> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="submit" value="<?php echo $preizkus['ime_izdelka']; ?>" name="izbira"> <?php } } ?> </body> </html>
pri izpisu pa izgleda tako
The value of $_SESSION['0'] is '0'
The value of $_SESSION['1'] is 'Printer hp 7890'
The value of $_SESSION['2'] is 'Cevapcici'
The value of $_SESSION['0'] is '0'
The value of $_SESSION['2'] is 'Cevapcici'
The value of $_SESSION['3'] is 'Coca cola'
lp
Zgodovina sprememb…
- spremenilo: Pehko ()
keworkian ::
Nekako ne razumem, kaj bi ti dejansko rad naredil s tole skripto? 1,2 ne dobis zato, ker se vrednost prepise in na koncu ostane 3.
Obscenities in B-Flat
Zgodovina sprememb…
- spremenil: keworkian ()
Pehko ::
Nekako ne razumem, kaj bi ti dejansko rad naredil s tole skripto? 1,2 ne dobis zato, ker se vrednost prepise in na koncu ostane 3.
torej jaz bi pri tej skripti rad shranjeval vrednosti iz gumbov(katere dobim iz sql baze) katere je uporabnik kliknil v polje in jih pozneje
izpisoval z pomočj tega polja delam pa za projektno nalogo program blagajna ti gumbi tu predstavljajo izdelke izpis bi pa naj biu sprotno prikazovanje tega kaj je uporabnik že vse vnesel
Zgodovina sprememb…
- spremenilo: Pehko ()
keworkian ::
Ok, zakaj potem delas toliko form? Zakaj mora biti ravno gumb, ce bi lahko naredil checkbox? Ne vem no, meni je res hmm... cudno.
Obscenities in B-Flat
Pehko ::
keworkian ::
To je res, da je bolj privlacen, sam imas rajse privlacnejse stvari ali si pa sam sebi jamo kopljes in vanjo pades. Recimo ce bi imel checkbox, nebi imel prakticno nobenega problema, tudi s tem gumbi ne, ker moras dati pod name="izbira[]", da se vrednosti nafilajo v array.
Obscenities in B-Flat
Pehko ::
To je res, da je bolj privlacen, sam imas rajse privlacnejse stvari ali si pa sam sebi jamo kopljes in vanjo pades. Recimo ce bi imel checkbox, nebi imel prakticno nobenega problema, tudi s tem gumbi ne, ker moras dati pod name="izbira[]", da se vrednosti nafilajo v array.
sedaj sem dodal izbira[] izpis pa sedaj izgleda takole
The value of $_SESSION['11'] is 'Array'
The value of $_SESSION['12'] is 'Array'
The value of $_SESSION['13'] is 'Array'
The value of $_SESSION['14'] is 'Array'
The value of $_SESSION['15'] is 'Array'
The value of $_SESSION['16'] is 'Array'
The value of $_SESSION['17'] is 'Array'
The value of $_SESSION['18'] is 'Array'
The value of $_SESSION['19'] is 'Array'
sedaj bi me pa še zanimalo če mi lahko poveš kaj še morem spremenit ,da bi namesto Array izpisal podano vrednost(value) v gumbou koda trenutno
<html> <head> </head> <body> <?php $x = 0; session_start(); echo 'x =' . $_SESSION['x']; if (isset($_POST['izbira'])){ foreach ($_SESSION['izbrani_izdelki'] as $key=>$value){ echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />'; $x++; } $x++; $arr[$x]=$_SESSION['izbrani_izdelki']; $_SESSION['x'] = $x; $_SESSION['izbrani_izdelki'][$x]= $arr[$x]; echo 'The value of $_SESSION['."'".$x."'".'] is '."'".$arr[$x]."'".' <br />'; } $db = mysqli_connect ('localhost','root','test','blagajna'); $sql = "SELECT * FROM izdelki "; $rezultat = mysqli_query ($db ,$sql) ; while ($preizkus = mysqli_fetch_array($rezultat)){ if ($preizkus['pravice'] == 1){ ?> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="submit" value="<?php echo $preizkus['ime_izdelka']; ?>" name="izbira[]" <?php } } ?> </body> </html>
hvala za pomoč LP
Zgodovina sprememb…
- spremenilo: Pehko ()
Ziga Dolhar ::
echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />';
$value je array. Izpiši ga z ustrezno funkcijo (npr. print_r()). Ali pa z var_dump($_SESSION) sploh preveri, kaj imaš notri.
https://dolhar.si/
Pehko ::
Ziga Dolhar je izjavil:
echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />';
$value je array. Izpiši ga z ustrezno funkcijo (npr. print_r()). Ali pa z var_dump($_SESSION) sploh preveri, kaj imaš notri.
To je sicer zadovoljiva rešitev ampak veš slučajno še kako kjer bi mi namesto
Array ( [0] => Jagode ) 19 1 izpisalo samo Jagode?
Pehko ::
$value[0]
super hvala a je še kako možno ta izpis Coca cola0 1 naredit brez teh dveh številk? 0 je pozicija 1 mi pa vedno izpiše Fructal23 1
Zgodovina sprememb…
- spremenilo: Pehko ()