Pomoc oko kontakt forme

1

Pomoc oko kontakt forme

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.
offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3665
  • Gde živiš: 127.0.0.1

Nije dovoljno Smile potrebna je skripta koje ce podatke koji su uneti procesira, bilo da posalje na mail, bilo da upise u bazu.

http://www.mycity.rs/PHP/PHP-Tutorijal-Kontakt-forma.html



offline
  • Pridružio: 11 Sep 2008
  • Poruke: 54
  • Gde živiš: Kraljevo

E sad mi je lakse,znaci mora jos malo strebanja Very Happy

Dopuna: 13 Okt 2008 19:21

evo vec 2 dana gledam ovaj tutorial ali tesko ide Sad jel mozes da mi napises skriptu koja ce da podatke salje u bazu,a za proveru podataka cu se sam snaci Smile

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3665
  • 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?

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 Smile

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);

?>

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3665
  • 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.

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 Smile

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]

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3665
  • 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']).

offline
  • Pridružio: 11 Sep 2008
  • Poruke: 54
  • Gde živiš: Kraljevo

Razumeo Smile 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.

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3665
  • 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.

Ko je trenutno na forumu
 

Ukupno su 742 korisnika na forumu :: 44 registrovanih, 11 sakrivenih i 687 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: _commandos_, A.R.Chafee.Jr., acatomic, alkatraz080, amaterSRB, amonsrb, bato, bojank, djo97, Doca, dragon986, FOX, goxin, GveX, jaeger, Korisnik038, LeGrandCharles, Markoni29, MB120mm, mercedesamg, Mercury, mikrimaus, milekNS, misa2, Mixelotti, moldway, nenad81, Oscar, pacika, r77adder, rovac, rsk, Sirius, stegonosa, suton, theNedjeljko, Username1000, vathra, Vlad000, vobo, Voivoda, Vojkan Milovanovic, wolf431, Živković