Poslao: 10 Okt 2008 16:30
|
offline
- Pridružio: 11 Sep 2008
- Poruke: 54
- Gde živiš: Kraljevo
|
<body>
<form action="proba.php" method="post" >
Ime:<br />
<input type="text" name="ime" /><br />
E-mail:<br /><input type="text" name="email" /><br />
<br />
Komentar<br />
<textarea rows="30" cols="30" name="komentar"></textarea><br />
<input type="submit" value="Posalji" />
</form>
</form>
</body>
<?php
echo "$_POST[ime]<br>";
echo "$_POST[email]<br>";
echo "$_POST[komentar]<br>";
?>
Zanima me jel dovoljno ovo za kontak formu i kako sad da mi se ovi podaci salju u bazu?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
|
Poslao: 13 Okt 2008 19:44
|
offline
- Rastafarii
- Moderator foruma
- Pridružio: 22 Mar 2006
- Poruke: 3760
- Gde živiš: 127.0.0.1
|
Citat:Stavite ostalim korisnicima do znanja da zelite da se potrudite i naucite nesto prilikom resavanja problema. "Moze li neko da mi da par smernica kako da..." ce sigurno dobiti vise odgovora nego "Postavite kompletan kod koji bi trebalo da iskoristim kako bih..." jer ste naglasili da biste zeleli da sami dodjete do resenja, ali vam treba neko ko ce vas usmeriti u pravom smeru.
Drugo, da bi uopste neko mogao da razmislja da ti napise kod koji upisuje u bazu, morao bi da zna konfiguraciju (broj kolona, njihovi nazivi, tip...) jer bi u suprotnom bilo nagadjanje.
Sta ti je problematicno u onom tutorijalu? I koja je poenta upisivanja kontakta u bazu?
|
|
|
|
Poslao: 13 Okt 2008 22:13
|
offline
- Pridružio: 11 Sep 2008
- Poruke: 54
- Gde živiš: Kraljevo
|
for ($i=0;$i<=3;$i++) jel ova petlja sluzi da ispise vrednosti ili sta?ma baza nije moranje,napravicu da se salje na mail,najbolje da postavim svoj primer pa mi ispravite greske,tako cu najlakse da ukapiram
Dopuna: 13 Okt 2008 22:13
<?php
$ime=$_GET[ime];
$mail=$_GET[email];
$text=$_GET[komentar];
$sve=$ime.$mail.$text;
if($sve){
echo "Poslato";
}else{
echo "Niste uneli sve podatke";
}
$to="mojaadresa@sssss.com";
$body="$ime\n$mail\n$text";
mail($to,$body);
?>
|
|
|
|
Poslao: 13 Okt 2008 22:46
|
offline
- Rastafarii
- Moderator foruma
- Pridružio: 22 Mar 2006
- Poruke: 3760
- Gde živiš: 127.0.0.1
|
Prvo da ti ukazem paznju na nesto: kada pises kod, onda ga stavi unutar code tagova.
Dalje,
$ime=$_GET[ime];
Forma se uglavnom prenosi post metodom, pa se podaci prikupljaju iz $_POST niza. Osim toga, ime polja treba da bude pod navodnicima, ovako:
$ime=$_POST['ime'];
Onda, ako ti polje nije popunjeno (tj poslato prazno), na vrhu fajla imaces Warning. Znaci, prvo proveris da li je polje popunjeno:
if (isset($_POST['ime']) and !empty($_POST['ime'])) {
$ime=$_POST['ime'];
}
ako nije, onda si u problemu: ne zelis da korisnik posalje prazan mail:
$uredu = true;
if (isset($_POST['ime']) and !empty($_POST['ime'])) {
$ime=$_POST['ime'];
}
else {
$ime = "";
$uredu = false;
}
dalje... kad "sabiras" stringove (ta operacija se zove konkatenacija) imaj u vidu da bi trebalo da dodas i razmak izmedju njih:
$sve = $ime . " " . $mail . " " . $text;
Rezultat konkatenacije je uvek string, a ne logicka (boolean) promenljiva. Tako da uslov:
if ($sve)
ne znaci nista. Ako sve promenljive skupljas kao sto sam ti pokazao (kod koji pocinje promenljivom $uredu), onda je uslov sledeci:
if ($uredu) {
$to="mojaadresa@sssss.com";
$body="$ime\n$mail\n$text";
$poslato = mail($to,$body);
if ($poslato) {
echo "Mail je poslat";
}
else {
echo "Mail nije poslat";
}
}
else {
echo "Niste popunili sva polja";
}
I za kraj, mail nije poslat kad su popunjena sva polja, nego kad mail() funkcija vrati vrednost true.
|
|
|
|
Poslao: 14 Okt 2008 15:21
|
offline
- Pridružio: 11 Sep 2008
- Poruke: 54
- Gde živiš: Kraljevo
|
E hvala ti puno rastafarii,proucicu malo ovo pa sledeci put valjda nece biti gresaka
Dopuna: 14 Okt 2008 15:21
[$uredu = true;
if (isset($_POST['ime']) and !empty($_POST['ime'])) {
$ime=$_POST['ime'];
}
else {
$ime = "";
$uredu = false;
}]
Jel postoji mogucnost da mi ovo obavi proveru za sva 3 polja ili da kucam za svako posebno?[/code]
|
|
|
|
Poslao: 14 Okt 2008 18:00
|
offline
- Rastafarii
- Moderator foruma
- Pridružio: 22 Mar 2006
- Poruke: 3760
- Gde živiš: 127.0.0.1
|
To ne moze da obavi proveru za sva tri polja, ali moze ovo:
$expected = array("ime","mail","text");
$vrednosti = array();
$uredu = true;
for ($i=0;$i<=2;$i++) {
$label = $expected[$i];
if (isset($_POST[$label]) and !empty($_POST[$label])) {
$vrednosti[$label]=$_POST[$label];
}
else {
$vrednosti[$label] = "";
$uredu = false;
}
}
s tim sto ti se posle vrednosti nalaze u nizu $vrednosti (npr. $vrednosti['ime']).
|
|
|
|
Poslao: 16 Okt 2008 18:26
|
offline
- Pridružio: 11 Sep 2008
- Poruke: 54
- Gde živiš: Kraljevo
|
Razumeo Hvala
Dopuna: 16 Okt 2008 18:22
E ovo mi savrseno radi,ali sad imam mali problem,kad posaljem mail otvara mi na drugoj stranici da je poruka poslata,kako mogu da mi to ocitava na istoj stranici,tj gde je bila kontakt forma?
Dopuna: 16 Okt 2008 18:26
Zab sam da napomenem da mi se kontakt forma nalazi u div-u,ako to nesto znaci.
|
|
|
|
Poslao: 16 Okt 2008 18:35
|
offline
- Rastafarii
- Moderator foruma
- Pridružio: 22 Mar 2006
- Poruke: 3760
- Gde živiš: 127.0.0.1
|
Ne znaci nista to sto je u div-u. Da bi status poruke (poslata/ne) bio na istoj stranici gde i forma, mora da action u form tagu vodi na tu stranicu, i da u njoj bude php kod koji salje poruku.
|
|
|
|