[PHP]Creeare Chestionar Site
suceava forum :: Discutii libere :: IT&C
Pagina 1 din 1
[PHP]Creeare Chestionar Site
El este compus din 2 fișiere: chestionarul în format html și modulul de prelucrare și trimitere a datelor din chestionar (un script php). Puteți să adăugați sau să ștergeți întrebări, să puneți alte butoane (specifice html - text field, check box, radio button, etc) și să îl modificați așa cum doriți. O să vă ajut puțin în configurarea variabilelor (pentru începătorii în ale php-ului) și vă explic mai jos cam ce puteți să modificați:
În modulul chestionar.php aveți grijă să introduceți datele și check box-urile doar în form altfel pot apărea probleme la afișarea sau trimiterea datelor. Tot în chestionar, dacă mai adăugați întrebări trebuie să specificați numele butonului ca fiind 8-9-10 sau alt nume (vezi <input name="1" type="checkbox" id="1" value="da">). În situația de față eu le-am numerotat și la valoarea am pus "da" (adică dacă e bifată apare ca "da"). Dacă aveți și un text field (cum este la <textarea name="8" id="8">scrie aici ce vrei să găsești</textarea>) trebuie să îi puneți și lui un nume (in cazul de față numele este "8"). După completarea și trimiterea chestionarului către server, se accesează fișierul prelucrare_chest.php care verifică datele introduse și dacă sunt corecte le afișează și le trimite pe e-mail la adresa specificată. Puteți să introduceți datele din chestionar și într-o bază de date sau într-un fișier text, adăugând doar câteva linii de cod.
index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="100%" border="1">
<tr>
<td width="30%" valign="top">
<?php
include ("chestionar.php");
?>
</td>
<td><div align="center">Dupa cum vedeti, chestionarul alaturat contine 7 check box si un text field. Nu uitati sa schimbati adresa de e-mail. </div></td>
</tr>
</table>
</body>
</html>
chestionar.php
<style type="text/css">
<!--
.style1 {
color: #FFFFFF;
font-weight: bold;
}
-->
</style>
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000099">
<tr>
<td valign="top" bgcolor="#9999cc"><div align="center" class="style1 style1">Ce doriti sa gasiti<br>
in acest site? </div></td>
</tr>
<tr>
<td valign="top"><form action="prelucrare_chest.php" method="post" name="chestionar" id="chestionar">
<input name="1" type="checkbox" id="1" value="da">
Scripturi php freeware.<br>
<input name="2" type="checkbox" id="2" value="da">
Mai multe articole despre php.<br>
<input name="3" type="checkbox" id="3" value="da">
Mai multe detalii despre comenzi.<br>
<input name="4" type="checkbox" id="4" value="da">
Mai multe despre MySQL.<br>
<input name="5" type="checkbox" id="5" value="da">
Mai multe despre baze de date.<br>
<input name="6" type="checkbox" id="6" value="da">
Mai multe despre baze de date in format txt.<br>
<input name="7" type="checkbox" id="7" value="da">
Altceva - si anume:<br>
<textarea name="8" id="8">scrie aici ce vrei sa gasesti.</textarea>
<br>
<div align="center"><input type="submit" name="Submit" value="Trimite"></div>
</form></td>
</tr>
</table>
prelucrare_chest.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
// Scripturi php freeware
$a=$_POST[1];
if ($a == "") {
$a = "nu";
}
// Mai multe articole despre php
$b=$_POST[2];
if ($b == "") {
$b = "nu";
}
// Mai multe detalii despre comenzi
$c=$_POST[3];
if ($c == "") {
$c = "nu";
}
// Mai multe despre MySQL
$d=$_POST[4];
if ($d == "") {
$d = "nu";
}
// Mai multe despre baze de date
$e=$_POST[5];
if ($e == "") {
$e = "nu";
}
// Mai multe despre baze de date in format txt
$f=$_POST[6];
if ($f == "") {
$f = "nu";
}
// Altceva - si anume:
$g=$_POST[7];
if ($g == "") {
$g = "nu";
}
// comentarii
$h=$_POST[8];
// in cazul in care campul 8 este gol sau scrie mesajul pus initial atunci seteaza variabila ca "nu"
// altfel ea ramane asa cum este cu textul trimis de utilizator
if (($h == "") or ($h == "scrie aici ce vrei sa gasesti.")) {
$h = "nu";
}
// chestii utile
$browser = $_SERVER["HTTP_USER_AGENT"];
$timp = time ();
$ip = getenv ( "REMOTE_ADDR" );
$ip_name = gethostbyaddr ( $ip );
// diferenta de timp - in cazul in care ora de pe server nu e corect setata
$hourdiff = "0";
$timeadjust = ($hourdiff * 60 * 60);
// cu - $timeadjust daca e in scadere sau cu + $timeadjust daca trebuie sa creasca
$servdate = date("d-m-Y - H:m:s",time() - $timeadjust);
// echo $servdate;
$headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-2\r\n";
$continut = "\n
Ip $ip a completat chestionarul.\n
Campurile completate sunt:\n\n
$a - Scripturi php freeware.\n
$b - Mai multe articole despre php.\n
$c - Mai multe detalii despre comenzi.\n
$d - Mai multe despre MySQL.\n
$e - Mai multe despre baze de date.\n
$f - Mai multe despre baze de date in format txt.\n
$g - Altceva - si anume:\n
$h - Comentarii.\n\n
Mesajul a fost trimis la data de $servdate \n
Browser: $browser , host: $ip_name , ip: $ip \n
";
// ATENTIE!!! schimbati adresa de email cu adresa voastra.
mail ("tu@domeniu.com", "Mesaj de pe site", "$continut", "$headers");
// afisare informatii
echo "<br><br>";
echo "Chestionarul completat de dvs. a fost trimis cu informatiile de mai jos:<br><br>
$a - Scripturi php freeware.<br>\n
$b - Mai multe articole despre php.<br>\n
$c - Mai multe detalii despre comenzi.<br>\n
$d - Mai multe despre MySQL.<br>\n
$e - Mai multe despre baze de date.<br>\n
$f - Mai multe despre baze de date in format txt.<br>\n
$g - Altceva - si anume:<br>\n
$h - Comentarii.<br><br>\n\n
Mesajul a fost trimis la data de $servdate <br>\n
Browser: $browser , host: $ip_name , ip: $ip <br>\n
";
echo "<br><br>";
echo "Va multumesc pentru informatii";
?>
</body>
</html>
În modulul chestionar.php aveți grijă să introduceți datele și check box-urile doar în form altfel pot apărea probleme la afișarea sau trimiterea datelor. Tot în chestionar, dacă mai adăugați întrebări trebuie să specificați numele butonului ca fiind 8-9-10 sau alt nume (vezi <input name="1" type="checkbox" id="1" value="da">). În situația de față eu le-am numerotat și la valoarea am pus "da" (adică dacă e bifată apare ca "da"). Dacă aveți și un text field (cum este la <textarea name="8" id="8">scrie aici ce vrei să găsești</textarea>) trebuie să îi puneți și lui un nume (in cazul de față numele este "8"). După completarea și trimiterea chestionarului către server, se accesează fișierul prelucrare_chest.php care verifică datele introduse și dacă sunt corecte le afișează și le trimite pe e-mail la adresa specificată. Puteți să introduceți datele din chestionar și într-o bază de date sau într-un fișier text, adăugând doar câteva linii de cod.
index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="100%" border="1">
<tr>
<td width="30%" valign="top">
<?php
include ("chestionar.php");
?>
</td>
<td><div align="center">Dupa cum vedeti, chestionarul alaturat contine 7 check box si un text field. Nu uitati sa schimbati adresa de e-mail. </div></td>
</tr>
</table>
</body>
</html>
chestionar.php
<style type="text/css">
<!--
.style1 {
color: #FFFFFF;
font-weight: bold;
}
-->
</style>
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000099">
<tr>
<td valign="top" bgcolor="#9999cc"><div align="center" class="style1 style1">Ce doriti sa gasiti<br>
in acest site? </div></td>
</tr>
<tr>
<td valign="top"><form action="prelucrare_chest.php" method="post" name="chestionar" id="chestionar">
<input name="1" type="checkbox" id="1" value="da">
Scripturi php freeware.<br>
<input name="2" type="checkbox" id="2" value="da">
Mai multe articole despre php.<br>
<input name="3" type="checkbox" id="3" value="da">
Mai multe detalii despre comenzi.<br>
<input name="4" type="checkbox" id="4" value="da">
Mai multe despre MySQL.<br>
<input name="5" type="checkbox" id="5" value="da">
Mai multe despre baze de date.<br>
<input name="6" type="checkbox" id="6" value="da">
Mai multe despre baze de date in format txt.<br>
<input name="7" type="checkbox" id="7" value="da">
Altceva - si anume:<br>
<textarea name="8" id="8">scrie aici ce vrei sa gasesti.</textarea>
<br>
<div align="center"><input type="submit" name="Submit" value="Trimite"></div>
</form></td>
</tr>
</table>
prelucrare_chest.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
// Scripturi php freeware
$a=$_POST[1];
if ($a == "") {
$a = "nu";
}
// Mai multe articole despre php
$b=$_POST[2];
if ($b == "") {
$b = "nu";
}
// Mai multe detalii despre comenzi
$c=$_POST[3];
if ($c == "") {
$c = "nu";
}
// Mai multe despre MySQL
$d=$_POST[4];
if ($d == "") {
$d = "nu";
}
// Mai multe despre baze de date
$e=$_POST[5];
if ($e == "") {
$e = "nu";
}
// Mai multe despre baze de date in format txt
$f=$_POST[6];
if ($f == "") {
$f = "nu";
}
// Altceva - si anume:
$g=$_POST[7];
if ($g == "") {
$g = "nu";
}
// comentarii
$h=$_POST[8];
// in cazul in care campul 8 este gol sau scrie mesajul pus initial atunci seteaza variabila ca "nu"
// altfel ea ramane asa cum este cu textul trimis de utilizator
if (($h == "") or ($h == "scrie aici ce vrei sa gasesti.")) {
$h = "nu";
}
// chestii utile
$browser = $_SERVER["HTTP_USER_AGENT"];
$timp = time ();
$ip = getenv ( "REMOTE_ADDR" );
$ip_name = gethostbyaddr ( $ip );
// diferenta de timp - in cazul in care ora de pe server nu e corect setata
$hourdiff = "0";
$timeadjust = ($hourdiff * 60 * 60);
// cu - $timeadjust daca e in scadere sau cu + $timeadjust daca trebuie sa creasca
$servdate = date("d-m-Y - H:m:s",time() - $timeadjust);
// echo $servdate;
$headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-2\r\n";
$continut = "\n
Ip $ip a completat chestionarul.\n
Campurile completate sunt:\n\n
$a - Scripturi php freeware.\n
$b - Mai multe articole despre php.\n
$c - Mai multe detalii despre comenzi.\n
$d - Mai multe despre MySQL.\n
$e - Mai multe despre baze de date.\n
$f - Mai multe despre baze de date in format txt.\n
$g - Altceva - si anume:\n
$h - Comentarii.\n\n
Mesajul a fost trimis la data de $servdate \n
Browser: $browser , host: $ip_name , ip: $ip \n
";
// ATENTIE!!! schimbati adresa de email cu adresa voastra.
mail ("tu@domeniu.com", "Mesaj de pe site", "$continut", "$headers");
// afisare informatii
echo "<br><br>";
echo "Chestionarul completat de dvs. a fost trimis cu informatiile de mai jos:<br><br>
$a - Scripturi php freeware.<br>\n
$b - Mai multe articole despre php.<br>\n
$c - Mai multe detalii despre comenzi.<br>\n
$d - Mai multe despre MySQL.<br>\n
$e - Mai multe despre baze de date.<br>\n
$f - Mai multe despre baze de date in format txt.<br>\n
$g - Altceva - si anume:<br>\n
$h - Comentarii.<br><br>\n\n
Mesajul a fost trimis la data de $servdate <br>\n
Browser: $browser , host: $ip_name , ip: $ip <br>\n
";
echo "<br><br>";
echo "Va multumesc pentru informatii";
?>
</body>
</html>
Max- Moderator
- Numarul mesajelor : 53
Varsta : 37
Localitate : Confidential
Stare de spirit : Rakiu
Data de inscriere : 23/08/2008
suceava forum :: Discutii libere :: IT&C
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum