PDA

View Full Version : [TUTORIAL] PHP #6 Preluarea datelor din formularele HTML



~TraNda~
11-04-2016, 05:03 PM
Formularele au ca eticheta form care are atributele action si method iar fiecare camp din formular are un name.

action indica fisierul care prelucreaza datele introduse in formular cand este apasat butonul Trimite

method indica modul in care datele sunt trimise spre prelucrare pe server si poate avea valorile: POST cand datele trimise nu sunt vizibile utilizatorului si GET cand datele sunt adaugate la adresa URL. Metoda POST permite trimiterea unei cantitati mai mari de date decat metoda GET.

name este un atribut care identifica datele introduse in fiecare camp al formularului

a presupunem ca intr-un formular avem un camp cu name="nume" si method="POST". Fisierul indicat de action va prelua datele introduse in campul "nume" astfel:

$_POST["nume"];

Exemplu: formular cu un camp si scriptul php de preluare a datelor

<form action="exemplu5_1.php" method="POST">
Nume: <input type="text" name="nume"><br>
<input type="submit" value="Trimite">
</form>

/* urmeaza fisierul exemplu5_1.php */
<?php
$nume=$_POST["nume"];
echo $nume;
?>

Verificarea datelor introduse in formular
Pentru a fi siguri ca utilizatorul a completat campurile trebuie sa adaugam scriptului partea de verificare.

Exemplu: folosim acelasi formular dar adaugam partea de verificare


?php
$nume=$_POST["nume"];
if ($nume=="") {
echo "Campul nume nu este completat";
} else {
echo $nume;
}
?>

Partea de verificare poate avea mai multe conditii simultane.

Exemplu: acelasi formular dar partea de verificare are doua conditii legate prin operatorul OR sau ||

<?php
$nume=$_POST["nume"];
if (($nume=="") || (strlen($nume)<5)) {
echo "Campul nume nu este completat corect";
} else {
echo $nume;
}
?>

Folosind modelele anterioare puteti prelua date si face verificarea pentru toate campurile formularului.

Datele preluate pot fi eventual introduse intr-o baza de date sau prelucrate in vederea trimiterii prin email functie de cerintele aplicatiei.

In afara preluarii datelor putem folosi formularul si pentru upload-ul fisierelor pe server dar cu masurile de precautie necesare pentru a evita eventualele upload-uri de fisiere nedorite pe server.
Pentru upload formularul va contine un camp de tip input cu type="file" iar eticheta form va contine in plus un argument enctype="multipart/form-data".

Exemplu: formular pentru upload fisiere. Folderul in care se face upload trebuie sa permita operatia de scriere. Din motive de securitate acest exemplu nu este activ.

<form method="post" action="exemplu5_4.php" enctype="multipart/form-data">
Fisier pentru upload: <input type="file" name="file"><br>
<input type="submit" value="Trimite">
</form>

/* urmeaza fisierul exemplu5_4.php */
<?php
$a=$_FILES["file"]["size"];
$b=$_FILES["file"]["name"];
$c=$_FILES["file"]["tmp_name"];
$d=$_FILES["file"]["type"];
if(($a<10000) && ($a>0)) {
move_uploaded_file($c,$b);
echo "Original file name: ".$b."<br>";
echo "File name after upload: ".$b."<br>";
echo "File size: ".$a."<br>";
echo "File type: ".$d."";
}
?>

Filip # 24.08
04-01-2018, 11:26 AM
de ce ai folosi 129837981273 fisiere pentru form-uri? cand poti folosi o singura pagina si in sus ul paginii pui codul pentru a extrage in <?php ?>