jureusz
8.04.2004, 13:40:47
W jaki sposob mozna oproznic tablice ze zmiennymi typu _POST po wykonaniu jakiegos dzialania ?
Witam
Może unset($_POST);?
Majdan
8.04.2004, 13:47:35
[php:1:0d4ce8ef31]<?php
unset($_POST['zmienna']);
?>[/php:1:0d4ce8ef31]
EDIT: Spóźniłem się.
jureusz
8.04.2004, 16:07:48
Chyba sie pospieszylem ... z tym pomogl. Bo nie likwiduje mi calej tablicy :/ $_POST
[php:1:d5e24e3346]<?php
$_POST = array();
?>[/php:1:d5e24e3346]
PS. po co chcesz oprozniac POST'a :?:
jureusz
8.04.2004, 17:19:04
Generalnie chodzi mi o to zeby zablokowac przeladowywanie skryptu.
shima
8.04.2004, 17:30:01
Cytat
Generalnie chodzi mi o to zeby zablokowac przeladowywanie skryptu.
Rozumiem, że chcesz, żeby przeładowywanie skryptu nie powodowało np. dodania zmiennych przekazywanych przez POST etcetera. Tak się nie da, użyj przekierowania [manual:bf15716d85]header[/manual:bf15716d85]()
Podaj więcej szczegółów, to dostaniesz bardziej precyzyjną odpowiedź
jureusz
8.04.2004, 17:51:00
To jest doscy skomplilkowane ...
Zrobilem sobie 3 templaty w smarty:
cos.tpl
cosb.tpl
cosok.tpl
Na cos.tpl jest formularz.
W przypadku blednego wypelnienia formularza laduje sie cosb.tpl.
Na cosb.tpl jest wypelniony formularz z danymi ktore wczesniej wpisal user i zaznaczone bledy.
Jezeli formularz jest poprawnie wypelniony laduje sie cosok.tpl.
Na cosok.tpl jest podsumowanie i insercik do bazy danych.
Dane po wywolaniu formularza sa zapisywane do tablicy _POST z tej tablicy do _SESSION.
Problem w tym ... ze nie zwalniaja mi sie te dwie tablice. Id sesji zostaje to samo ... _POST tez jest w calosci. Generalnie tablica _POST moze nawet zostac .. to mi nie przeszkadza ale nie potrafie sie _SESSION pozbyc. Tak zeby sie zabezpieczyc przed floodem.
shima
8.04.2004, 18:01:02
Dodawanie danych do bazy jest załatwiane prawdopodobnie poprzez skrypt przypisany action formularza. Dodaj w nim
[php:1:6b181e242f]<?php
header(" Location: miejsce gdzie przerzucić");
?>[/php:1:6b181e242f]
a $_SESSION czyść jak napisali wyżej:
całość [php:1:6b181e242f]<?php
$_SESSION=array();
?>[/php:1:6b181e242f]
pojedyncze zmienne
[php:1:6b181e242f]<?php
unset($_SESSION['zmienna']);
?>[/php:1:6b181e242f]
Witam.
Jeśli nie będziesz mógł użyć funkcji header, gdy np. przed zczytaniem tablicy $_POST wysyłasz coś do przeglądarki, to polecam:
[xml:1:20f57fa4d3]<script>window.location="adres_pliku.php"</script>[/xml:1:20f57fa4d3]
A co do oczyszczenia tablicy $_POST, to nawet jak to zrobisz (w tym konkretnym przypadku), to przy wciśnięciu F5 ta tablica dalej jest pamiętama przez przeglądarkę - a nie przez serwer ...
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.