Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Operacje na sesji
Forum PHP.pl > Forum > Przedszkole
northwest
Witam,
mam taki kod:
  1. if(!isset($_SESSION['koszyk'])) //jezeli sesja po raz pierwszy otwarta
  2. {
  3. $_SESSION['koszyk']=array();
  4. }
  5. if(!isset($_SESSION['idd']))
  6. {
  7. $_SESSION['idd']=0;
  8. }
  9. if(isset($_POST['nazwa'])) //zapis
  10. {
  11. $_SESSION['koszyk'][$_SESSION['idd']]=$_POST['nazwa']."|".$_POST['ilosc']."|";
  12. $_SESSION['idd']++;
  13. }
  14.  
  15. if(isset($_SESSION['idd'])){
  16. foreach($_SESSION['koszyk'] as $value) {
  17. $wynik = explode("|", $value);
  18. echo"$wynik[0] i $wynik[1] <br/>";
  19. }
  20. }
  21.  
  22. <form id="zaloguj_form" action = "" method = "post" >
  23. <fieldset>
  24. <ul>
  25. <li>
  26. <label>nazwa:</label>
  27. <input class="required" type="text" value="" name="nazwa" id="nazwa"/>
  28. </li><br/>
  29. <li>
  30. <label>ilosc:</label>
  31.  
  32. <input class="required" type="text" value="" name="ilosc" id="ilosc" />
  33. </li>
  34. <li>
  35. <input type="submit" class="button" id="add" name="add" value="zapisz" />
  36. </li>
  37. </ul>
  38. </fieldset>
  39. </form>



Mam taki problem, chciałbym zrobić jakąś blokadę dublujących postów (tak żeby zmienne ilosc i nazwa nie mogły powtarzać się sesji).


Wiecie może jak to zrobić?
Northwest
TheSnake
  1. if(isset($_POST['nazwa'])) //zapis
  2. {
  3. if($_SESSION['koszyk'][$_SESSION['idd']] != $_POST['nazwa']."|".$_POST['ilosc']."|"){
  4. $_SESSION['koszyk'][$_SESSION['idd']]=$_POST['nazwa']."|".$_POST['ilosc']."|";
  5. $_SESSION['idd']++;
  6. }
  7. }
northwest
próbowałem, nic nie dało sad.gif
jak robię to echo, to na wydruku mam taką formę sesji 111111|111111| i
skąd to "i"? gdy dodałem do Twojego warunku to "i" to też nie pomogło sad.gif
blooregard
to 'i' jest stąd:

echo"$wynik[0] i $wynik[1] <br/>";
smile.gif
northwest
qurcze próbowałem różnych wariantów i nic nie pomogło sad.gif
  1. <form id="zaloguj_form" action = "" method = "post" >
  2. <ul>
  3. <label>Usuń</label>
  4. <input class="required" type="text" value="" name="usun" id="usun" />
  5. </li>
  6. </ul>
  7. </form>


Mam jeszcze takie pytanie, załóżmy że dorobiłem sobie taki formularz jak wyżej i chciałbym po wysłaniu usunąć z sesji daną wartość/rekord (na podstawie zmiennej usuń).

Wiecie może jak to zrobić?

upppss ale gafa winksmiley.jpg racja,dzięki smile.gif
TheSnake
Kod
$usun = $_POST['usun'];

unset($_SESSION[$usun]);


tak?
northwest
nie działa sad.gif ani usuwanie, ani blokada dubli sad.gif
TheSnake
Kod
if(isset($_POST['nazwa']))
{
    $nazwa = $_POST['nazwa'];
    $ilosc = $_POST['ilosc'];
    $idd = $_SESSION['idd'];
    
    $ciag = $nazwa . '|' . $ilosc . '|';
    if($_SESSION['koszyk'][$idd] != $ciag)
    {
        $_SESSION['koszy'][$idd] = $ciag;
        $_SESSION['idd']++;
    }
}


--
unset powinno działać (u mnie działa).

Upewnij się, że dobrze to robisz ^^
northwest
Kurcze, nie bardzo działa sad.gif
  1. if(isset($_GET['nazwa']))
  2. {
  3. $nazwa = $_GET['nazwa'];
  4. $ilosc = $_GET['ilosc'];
  5. $idd = $_SESSION['idd'];
  6.  
  7. $ciag = $nazwa . '|' . $ilosc . '|';
  8. if($_SESSION['koszyk'][$idd] != $ciag)
  9. {
  10. $_SESSION['koszy'][$idd] = $ciag;
  11. $_SESSION['idd']++;
  12. }
  13. }


wywołuje to siebie test.php?nazwa=bla&ilosc=bla i nie działa...
TheSnake
A masz coś w $_SESSION['idd'] ?

@down, w profilu
northwest
jest tam liczba...

ps. masz może jakieś gg?
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.