Salut. Ma chinui de cateva zile sa creez un script care sa permita inserarea datelor dintr-un formular pe site. Mai exact vreau ca atunci cand user-ul apasa "Submit" datele introduse in formular sa fie postate automat in site, pe o pagina anume. Mentionez ca site-ul este creat in html si php.
Sau se poate acest lucru?
Multumesc anticipat.
Inserare date dintr-un formular pe site
-
- Mesaje:14
Inserare date dintr-un formular pe site
MarPlo
Mesaje:4343
Salut
Acele date din formular trebuie intai salvate in fisiere pe server, sau intr-o baza de date, iar pe baza datelor din adresa URL (GET) sa fie preluate de un script php care le afiseaza in pagina.
Ca sa faci acest script trebuie sa stii sa lucrezi cu $_GET si $_POST, sa salvezi date in MySQL sau in fisiere pe server si apoi sa le preiei.
Astea le poti invata din lectiile si tutorialele din Cursul PHP-MySQL de pe site. Poti incepe cu lectia Utilizare formulare HTML cu PHP, $_GET si $_POST si in continuare cu cele care mai sunt pe site.
Unde nu te descurci in scriptul pe care-l faci, poti sa postezi pe form codul scris de tine.
Acele date din formular trebuie intai salvate in fisiere pe server, sau intr-o baza de date, iar pe baza datelor din adresa URL (GET) sa fie preluate de un script php care le afiseaza in pagina.
Ca sa faci acest script trebuie sa stii sa lucrezi cu $_GET si $_POST, sa salvezi date in MySQL sau in fisiere pe server si apoi sa le preiei.
Astea le poti invata din lectiile si tutorialele din Cursul PHP-MySQL de pe site. Poti incepe cu lectia Utilizare formulare HTML cu PHP, $_GET si $_POST si in continuare cu cele care mai sunt pe site.
Unde nu te descurci in scriptul pe care-l faci, poti sa postezi pe form codul scris de tine.
alexlemnean
Mesaje:14
Am creat formularul si am incercat cu file_get_contents si file_put_contents ca sa imi preieie dintr`un fisier si sa mi`l innsere in altul, dar nu imi dau seama cum sa salvez datele dupa executarea formularului .
MarPlo
Mesaje:4343
Datele dintr-un camp de formular se preia in PHP cu (daca are method="post"):
Ca sa salvezi in fisier pe server, se poate cu (daca directorul unde salvezi are permisiuni CHMOD de scriere [vezi pe site sau pe internet despre CHMOD]):
- Daca ai posta si codul pe care l-ai scris, poate stia cineva sa dea un raspuns mai ajutator.
Cod: Selectaţi tot
$data = $_POST['nume_camp'];
Cod: Selectaţi tot
if(file_put_contents('cale/fisier.htm', $data)) echo 'Date salvate';
else echo 'Nu poate salva datele';
alexlemnean
Mesaje:14
Am reusiit ceva cevaa :"> .
Uite aici codurile :
form.html
test-form.php
Acuma am cateva nelamuriri :
-in fisierul 'preluare.php' unde imi salveaza datele din formular, de ce nu raman salvate ? Adica dupa fiecare apasare de submit ele se sterg si raman doar cele mai recente. Deci eu vreau sa pastrez acele date atat in fisierul 'preluare.php' cat si in fisierul 'detalii.php' care le afiseaza in pagina pe site. ;
-cum fac ca in fisierul 'test-form.php' la functia de preluare sa imi prelueze mai multe campuri(nume, email etc.). Am scris asa
if(file_put_contents('preluare.php', $nume, $email, $parola)) echo 'Datele tale au fost adaugate !';
else echo 'A aparut o eroare si din pacate datele tale nu au putut fi adaugate ! Revino mai tarziu !';
dar imi dadea eroare .
\*Multumesc pentru ajutor !
Uite aici codurile :
form.html
Cod: Selectaţi tot
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ro" lang="ro">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title> Test-Form </title>
</head>
<body>
<form action="test-form.php" method="POST" name="formular">
Nume:<input type="text" name="nume" />
<br />Email:<input type="text" name="email" />
<br />Parola:<input type="password" name="parola" />
<br /><input type="submit" name="submit" value="Trmite datele" />
</form>
</body>
</html>
Cod: Selectaţi tot
<?php
$nume = $_POST['nume'];
$email = $_POST['email'];
$parola = $_POST['parola'];
echo "Felicitari $nume te`ai inregistrat cu succes !";
if(file_put_contents('preluare.php', $nume)) echo 'Datele tale au fost adaugate !';
else echo 'A aparut o eroare si din pacate datele tale nu au putut fi adaugate ! Revino mai tarziu !';
$file = 'detalii.php';
$context = file_get_contents('preluare.php'); // Preia continutul fisierului
$context .= '';
file_put_contents($file, $context); // Adauga continutul din $context in $file
?>
-in fisierul 'preluare.php' unde imi salveaza datele din formular, de ce nu raman salvate ? Adica dupa fiecare apasare de submit ele se sterg si raman doar cele mai recente. Deci eu vreau sa pastrez acele date atat in fisierul 'preluare.php' cat si in fisierul 'detalii.php' care le afiseaza in pagina pe site. ;
-cum fac ca in fisierul 'test-form.php' la functia de preluare sa imi prelueze mai multe campuri(nume, email etc.). Am scris asa
if(file_put_contents('preluare.php', $nume, $email, $parola)) echo 'Datele tale au fost adaugate !';
else echo 'A aparut o eroare si din pacate datele tale nu au putut fi adaugate ! Revino mai tarziu !';
dar imi dadea eroare .
\*Multumesc pentru ajutor !
steell
Mesaje:190
Datele nu raman salvate pentru ca functia file_put_contents() inlocuieste tot continutul fisierului cu cel nou. Daca vrei sa adaugi continut nou foloseste fwrite() iar cand deschizi fisierul cu fopen() folosesti argumentul a+
La problema a doua, greseala este ca ai adaugat prea multe argumente functiei file_put_contents().
Poti sa le concatenezi pe toate intr-un sir si il adaugi o singura data, sau folosesti fwrite cum am zis mai sus.
Invata urmatoarele 4 lectii incepand cu aceasta:
https://marplo.net/php-mysql/fisiere.html" target="_blank
La problema a doua, greseala este ca ai adaugat prea multe argumente functiei file_put_contents().
Poti sa le concatenezi pe toate intr-un sir si il adaugi o singura data, sau folosesti fwrite cum am zis mai sus.
Invata urmatoarele 4 lectii incepand cu aceasta:
https://marplo.net/php-mysql/fisiere.html" target="_blank
Subiecte similare
- Afisare numar cel mai mare dintr o coloana
PHP - MySQL - XML Primul mesaj
Bună MarploUltimul mesaj
Vreau să extrag din coloan pret cel mai mare numar ca de exemplu 4444.
Mie imi afisează 54 în loc de 4444, dacă în loc de 4444 modific...
Am schimbat `pret` varchar(20) DEFAULT NULL in `pret` int(11) NOT NULL ca la tine si merge.
Multumesc - Eroare la un formular cu PHP
PHP - MySQL - XML Primul mesaj
Salut. Am si eu o problema. In primul rand nu stiu daca am postat unde trebuie si am cautat pe forum ceva asemanator cu problema mea insa nu am...Ultimul mesaj
Am rezolvat. Multumesc oricum pentru timpul acordat. Am folosit phpmailer pt ca cei de unde am webhostul asa lucreaza. Multumesc inca o data ! - Formular de contact cu upload imagini
Scripturi de pe site Primul mesaj
Salutare si la multi ani!Ultimul mesaj
Revin cu o intrebare pentru scriptul formular de contact, de la pagina: marplo.net/php-mysql/formular_contact
Este...
M-am uitat pe codul din formularul de contact.
Am decis sa nu ma complic cu asa multe adaugari si verificari in acel script. - Creare meniu in site cu php
Scripturi de pe site Primul mesaj
SalutUltimul mesaj
Am incercat sa pun icons pe primul nivel al meniului din tutorialu tau: Creare site de la zero si nu reusesc sa il adaug pe butonele care...
Multumes pt ajutor
Este ok acum.
Din exeplul dat de tine am mai vazut ceva intersant si anume acel meniu asa zis breadcrumb cu ce ma selectat deja.... - Programare Site Sector 5
Discutii si Intrebari Diverse Salut la toți.
Ce oare poate avea? Nu îmi permite să înregistrez programarea pe site.
Atașez link:... - Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML Primul mesaj
SalutUltimul mesaj
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
Treaba cu adaugare json in mysql e simpla, se rezuma la adaugarea unui sir care contine ghilimele duble.
Problema la tine e ca acele ghilimele sunt...