Tutorial PHP

Data publicarii: Februarie 2006

Tutoriale » PHP » Preluarea datelor din formularele HTML

PHP Feb 2006

Preluarea datelor din formularele HTML

Recapitulare: in tutorialul de HTML la capitolul Formulare am mentionat ca eticheta form are atributele action si method iar fiecare camp din formular avea 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

Sa 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: ".$c."<br>";
echo "File size: ".$a."<br>";
echo "File type: ".$d;
}
?>

Sus

Tutoriale
22 Jul 2017  11:38 PM
Tutoriale

Copyright © 2005-2016 Termeni si conditii
Adauga comentariu
Nume:*
Email:*
Comentariu:*
 Poza 
Introduceti codul:*

Completarea campurilor marcate cu * este obligatorie.

Autorul isi rezerva dreptul de a nu posta comentariile care nu au legatura cu subiectul articolului.

 
Comentarii:
Romeo
08-03-2013
Dupa ce am pus formularul aratat de tine am invatat cum pot lua datele cu php si prelucra. Merci pentru lectiile de html si php
George
04-04-2013
Am incercat sa aplic exemplul tau dar nu se potriveste la mine deoarece campurile din formularul meu din pagina Contact nu contin si name. Ce ssa fac sa iau datele pentrru prelucrare? George
Autor
05-04-2013
In codul HTML al formularului tau adauga pentru fiecare camp atributul name="valoare".

Sus