Autor Zpráva
Adam1999
Profil
Zdravím,
Mám soubor kde mám na záčátku
session_start();
a na konci souboru si zapisuji data do SESSION
$_SESSION["vstupenky_cena"] = $cena;
//echo $cena.' Kč';
$_SESSION["vstupenky_konfigurace"] = array(
    $pocet,
    $strany, 
    $papir,
    $sluzby, 
    $barva,
    $rozmer
);
Na tento soubor odkazuje formulář. Po zapsání dat do SESSION soubor přesměruje zpátky na ten formulář kde vedle data z SESSION vypíše.
Po první odeslání je vše ok ale když formulář odešlu znova s jinými daty vrací se mi stále ta stejná odpověd a data se v SESSION nepřepíšou.
Prosím o radu co dělám špatně?
Děkuji za každou radu.
Taps
Profil
Po odeslani zkus vymazat hodnoty promennych
Adam1999
Profil
Taps:
Zkusil jsem toto:
$_SESSION["vstupenky_konfigurace"] = array();
$_SESSION["vstupenky_cena"] = $cena;
//echo $cena.' Kč';
$_SESSION["vstupenky_konfigurace"] = array();
$_SESSION["vstupenky_konfigurace"] = array(
    $pocet,
    $strany, 
    $papir,
    $sluzby, 
    $barva,
    $rozmer
);
Bohužel se nic nezměnilo


Tak jsem přišel na to že když z formuláře odstraním script na aktivní položky tak že to funguje.
Ten script vypadá následovně:
 <div class="form-group">
    <label>Počet kusů:</label>
    <select name="pocet" class="form-control">
      <option <?php if ($_SESSION["vstupenky_konfigurace"][0] == 50) {echo 'selected="selected';} ?> value="50">50Ks</option>
      <option <?php if ($_SESSION["vstupenky_konfigurace"][0] == 100) {echo 'selected="selected';} ?> value="100">100Ks</option>
      <option <?php if ($_SESSION["vstupenky_konfigurace"][0] == 200) {echo 'selected="selected';} ?> value="200">200Ks</option>
      <option <?php if ($_SESSION["vstupenky_konfigurace"][0] == 500) {echo 'selected="selected';} ?> value="500">500Ks</option>
      <option <?php if ($_SESSION["vstupenky_konfigurace"][0] == 1000) {echo 'selected="selected';} ?> value="1000">1000Ks</option>
    </select>
  </div>
Vůbec nechápu jakou to má s tím souvislost ale bez něj to funguje.
Nějaký nápady jak to vyřešit aby to fungovalo a zároveň byli vidět aktivní (předtím) vybrané položky?
Díky za každou radu.
Taps
Profil
Pred tim nez odesles nova data tak zkus testovat existenci session.
<?
If(isset($_SESSION["vstupenky_konfigurace"])){
Unset($_SESSION["vstupenky_konfigurace"]);
}
?>
A pak pouzijes tvuj kod pro nastaveni session
Adam1999
Profil
Taps:
Bohužel stále nic


unset($_SESSION["vstupenky_konfigurace"]);
Vůbec nefunguje SESSION je stále plný a přepisovat také nejde.
Adam1999
Profil
Tak na konec jsem si pro to napsal vlastní function.
Tady je, kdyby měl někdo stejný problém tohle by ho mohlo vyřešit.
function arrSelect($ids, $active) {
    $output = "";
      foreach ($ids as $value => $name) {
          $selected = "";
          if ($value == $active) {
              $selected = "selected";
          }
          $output .= "<option value='$value' $selected>$name</option>";           
      }
      echo $output;
}
Děkuji: Taps za pomoc :).

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: