Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Operacje na sesji
northwest
post
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
TheSnake
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 10
Dołączył: 5.06.2009

Ostrzeżenie: (0%)
-----


  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. }
Go to the top of the page
+Quote Post
northwest
post
Post #3





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


próbowałem, nic nie dało (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
blooregard
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




to 'i' jest stąd:

echo"$wynik[0] i $wynik[1] <br/>";
(IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
northwest
post
Post #5





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


qurcze próbowałem różnych wariantów i nic nie pomogło (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/winksmiley.jpg) racja,dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
TheSnake
post
Post #6





Grupa: Zarejestrowani
Postów: 115
Pomógł: 10
Dołączył: 5.06.2009

Ostrzeżenie: (0%)
-----


Kod
$usun = $_POST['usun'];

unset($_SESSION[$usun]);


tak?

Ten post edytował TheSnake 28.01.2010, 15:44:36
Go to the top of the page
+Quote Post
northwest
post
Post #7





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


nie działa (IMG:style_emoticons/default/sad.gif) ani usuwanie, ani blokada dubli (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
TheSnake
post
Post #8





Grupa: Zarejestrowani
Postów: 115
Pomógł: 10
Dołączył: 5.06.2009

Ostrzeżenie: (0%)
-----


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 ^^

Ten post edytował TheSnake 28.01.2010, 16:12:42
Go to the top of the page
+Quote Post
northwest
post
Post #9





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


Kurcze, nie bardzo działa (IMG:style_emoticons/default/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...
Go to the top of the page
+Quote Post
TheSnake
post
Post #10





Grupa: Zarejestrowani
Postów: 115
Pomógł: 10
Dołączył: 5.06.2009

Ostrzeżenie: (0%)
-----


A masz coś w $_SESSION['idd'] ?

@down, w profilu

Ten post edytował TheSnake 28.01.2010, 16:49:03
Go to the top of the page
+Quote Post
northwest
post
Post #11





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


jest tam liczba...

ps. masz może jakieś gg?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:59