Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: długość życia zmiennych $_POST
Forum PHP.pl > Forum > PHP
sg11
Witam uzytkowników forum

Mój problem jest nastepujący, jestem w trakcie tworzenia serwisu www opratego na HTML php I MySQL, ale serwis ten opraty jest z kilkunastu stronek a praktycznie na wszystkich korzyta sie z połączenia z bazą danych, parametrami polączenia są dane przesyłane z formularza HTML metoda POST
LOGIN<br> <INPUT type="text" maxlength="13" name="login">
HASŁO<BR> <INPUT type="password" maxlength="13" name="haslo">
a następnie pozyskiwane przez:
$login=$_POST['login'];
$passw=$_POST['haslo'];
$rola=$_POST['rola'];

$polaczenie=mysql_pconnect("$IP","$login","$passw");
na stronce wskazanej przez ACTION w formularzu.

Serwis ten ma miec kilka typów kont czyli admin itd w momencie przekierowania na którąś ze stron poprzez include i wyśwetleniu jej giną mi zmienne z formularza czyli login i haslo i brak jest połączenia z bazą MySQL. Jak sie domyślam chodzi o to że każda z kolejnych stronek www nie widzi zmiennych przekazywanych przez formularz na konkretną (action=" "), jak mozna by te zmienne pozyskac na n-tej stronie serwisu i nawiązać połączenie z bazą??Prosze o jakieś podpowiedzi jak mozna by to było zrobić??
tiraeth
Proponuję zainteresować się sesjami... Poszukaj sesje na forum.
scanner
A dodatkowo zaprzestać przepisywać $_POST i inne superglobalne do "zwykłych zmiennych" - jest to nieergonomiczne (wydajnościowo i pamieciowo).
sobstel
Cytat(scanner @ 2004-12-10 08:11:49)
A dodatkowo zaprzestać przepisywać $_POST i inne superglobalne do "zwykłych zmiennych" - jest to nieergonomiczne (wydajnościowo i pamieciowo).

po czesci to moze byc uzasadnione filtracją danych. oczywiscie w powyzszym przykladzie jest to zupelnie bezsensowne, czyste wygodnictwo.
scanner
Filtracja danych?

Jeśli tylko nie musże wyodrębniać tablic z $_* to operuję własnie na nich, np:
  1. <?php
  2. $_POST['ID'] = empty( $_POST['ID'] ) ? 0 : intval( $_POST['ID'];
  3. ?>
I tym podobne.

Wygodnictwem też bym tego nie nazwał - po co zaśmiecać sobie gowę nazwami kolejnych zmiennych?
sobstel
co do pierwszego argumentu to racja, dlatego napisalem "po cześci" ;-)
co do wygodnictwa, to jednak wcale nie zasmiecasz sobie w glowe, tu masz $zmienna, tam masz $_POST['zmienna'], a wygodnictwo objawia sie w tym ze potem nie trzeba pisac calego $_POST itp. oczywiscie nie popieram takiego rozumowania, jednak wlasnie z wygodnictwa pisanie z wlaczonym register_globals czy tez przepisywanie zmiennych na szybsze i latwiejsze do pisania w skrypcie. tak czy owak robi sie off-topic dlatego proponouje na tym zakonczyc ;-)
sg11
Dziękuje za odpowiedzi

Zaraz zabieram się za implementacje sesji w moim serwisie
Mam jeszcze jedną prosbe czy wie ktos gdzie jest jakis manual taki doglębny odnosnie sesji definiowanie w niej ziennych oraz wyciaganie tych zmiennych na kolejnej n-tej stronie, nigdy nie korzystalem z sesji i nie wiem co i jak, lub prosze o polecenie jakiejs dobrej książeczki od php pod tym kątem


Z góry Dziekuję wszystkim

Pozdrawiam
redman2
Cytat
na kolejnej n-tej stronie


na poczatku kazdej strony wpisujesz

  1. <?php
  2. ?>


i to wszystko.

Adres sesji przekazujesz przez adres albo ciacha.

Nic tu glebszego nie znajdziesz.
I nie szukaj
sg11
a np mam cos takiego pobieram na 1 stronie przez formularz metoda POST login, no i chcialbym aby był dotępny na kolejnych stronach czyli np1.ph (plik z formularzem) 2.php 3.php 4.php itd jest mi to potrzebne do połączenia z baza a konkretnie do odpytaywania bazy

*********** 1.php
<? session_start() ?>
<html>
<body>
<form method="POST" action="2.php">
<input type="text" name="log">
<input type="submit">
</form>
</body>
</html>

********** 2.php
<?
session_start()
$_SESSION['im']=$_POST['log'];
// no i tu np wyswietlic tą pobrana zmienna
?>
<a href="3.php">druga str</a>

************ 3.php
<?
session_start()
echo session_id();

//$_SESSION[$_POST['log']];

//a tu połączyc sie z bazą
$con=mysql_connect('localhost','$_SESSION questionmark.gif?(nie wiem jak tu do dać),'root');
//echo $_SESSION[$_POST['log']];
******************************************************

to jest tylko taki najprostszy schemat gbyby ktos mógł mi pokazać jak pobierać deklarować te zmienne z formularza i udostepniac je w kolejncyh stronkach za pomoca zmiennych sesyjnych

prosze o pomoc

?>
my_kel
  1. <?php
  2.  
  3. $login = $_SESSION['im'];
  4. $con=mysql_connect('localhost','$login' ,$pass);
  5.  
  6. ?>


itd, itp
Sesje - czytaj tu

Pozdr. MS
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.