Autor Zpráva
hellmc
Profil *
Mam vytvorene dve Sesions >
$_SESSION['pid'][$id]; a $_SESSION['kusov'][$id];
premazavam pomocov uset
unset($_SESSION['pid'][$id]);
unset($_SESSION['kusov'][$id])
doma na pc to bezi v poho, na hoste chyba: Fatal error: Cannot unset string offsets in ... a s tym spojene nekorektne nasledne zobrazovanie sesny [kusov]
obsah session vyzera nejak takto>kusov|a:2:{i:1;s:2:"10";i:3;s:2:"30";}pid|a:2:{i:1;s:1:"1";i:3;s:1:"3";} ... 2x pid (1 a 3) 2x kusov (10 a 30)

fakt netusim cim to je ... skusal som googlit ale k nicomu konkretnemu som sa nedostal ... vdaka za hocijaku pomoc!!
Tori
Profil
Mně se podařilo chybu vyvolat jen pokud pod indexem $pole['retezec'] bylo ne pole, ale řetězec. Jen pro jistotu - jaké máte verze PHP na localhostu a na hostingu? Ve starých verzích PHP by to místo Fatal error hodilo jen varování.
hellmc
Profil *
Tori:
doma na windows je php v 5.2.13 ... v praci na linuxe to iste .. aj nahoste rovnake ... doma a v praci to bezi v poriadku ... na hoste si nemozem pozret obsah session, ale zda sa mi ako keby uset prvej sesny rozhodil strukturu .. neviem . skusal som to premazavat aj pomocou $_SESSION['kusov'][$id]= array() .. ale vysledok je rovnaky
peta
Profil
Zajimave, nic se mi nerozhodilo (PHP Version 5.3.5),
<?php
session_start();
$id = 0;
$_SESSION['pid'] = array();
$_SESSION['pid'][$id] = 'a:2:{i:1;s:2:"10";i:3;s:2:"30";}';
echo '<pre>'; var_dump($_SESSION);

unset($_SESSION['pid'][$id]);
echo '<pre>'; var_dump($_SESSION);
?>

array
  'pid' => 
    array
      0 => string 'a:2:{i:1;s:2:"10";i:3;s:2:"30";}' (length=32)

array
  'pid' => 
    array
      empty


http://peter-mlich.wz.cz/x/sess.php
(PHP Version 5.2.13)
array(1) {
  ["pid"]=>
  array(1) {
    [0]=>
    string(32) "a:2:{i:1;s:2:"10";i:3;s:2:"30";}"
  }
}

array(1) {
  ["pid"]=>
  array(0) {
  }
}
Jine php po ruce nemam
hellmc
Profil *
peta:
sesny vytvaram z POST .. nejak takto
session_start();
if(isset($_POST['pid']))
{
$id=$_POST['pid'];
$kusov=$_POST['kusov'];
$_SESSION['pid'][$id] = $id;
$_SESSION['kusov'][$id]=$kusov;
}
$id a $kusov su cisla
obsah kosika mazem nejak takto>
if(isset($_GET['delete']))
{
$id=$_GET['delete'];
unset($_SESSION['pid'][$id]);
unset($_SESSION['kusov'][$id]); <<na tento riadok odkazuje chyba
}
cize najprvy sa vykona unset pid , korektne, vyrobok sa zmaze s kosika ale sesna kusov pravdepodobne ostane, ked znovu pridam ten isty vyrobok do kosa nespravne sa zobrazuje pocet kusov ..namiesto 10ks >1ks .. po dalsom pridani napr 2 .. atd. Na lokalnych pc to bezi bez chyby, mozem odstranovat a pridavat..a vzdy sa to zobrazi spravne ... zatial to je na freehoste wz.cz len aby si to mohol zadavatel kontrolovat .. pojde to na iny host, tam to bude mozno fine .. skusim zapisovat pocet kusov do jednej sesny s pid a potom to nejak rozsekat ... aj tak diik.
Davex
Profil
Čistě teoreticky by to mohlo zlobit se zapnutým register_globals. Zkus ho vypnout v souboru .htaccess:

php_flag register_globals 0
hellmc
Profil *
Davex:
Diky DAVEX .. vyzera ze .htacess pomohlo! ... diky moc vsetkym!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0