Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Internet > Web razvoj > Serverske aplikacije i baze podataka

Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion...
MySQL, PostgreSQL, MSQL, Oracle...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 24.12.2006, 2:51   #1
Deusdies
Starosedelac
 
Član od: 9.11.2005.
Lokacija: bo@galaxy: ~$
Poruke: 1.554
Zahvalnice: 54
Zahvaljeno 439 puta na 215 poruka
Slanje poruke preko AIM-a korisniku Deusdies Slanje poruke preko MSN-a korisniku Deusdies Slanje poruke preko Skypea korisniku Deusdies
Question [PHP] Slanje feedback forme putem maila

pozdrav, imam sledeci problem ; imam sajt na kojem bih hteo da napravim par formulara koje ce korisnici popuniti i podatke iz formulara sajt ce poslati na moju e-mail adresu. E sad, sta ne valja:

Kod:
<html>
<head>
<title>Utisak ~ bogdankg.co.nr</title>
</head>
<body>

<h2>Hvala vam sto mi pomazete da poboljsam sajt!</h2>
<form method="post" action="feedbackphp.php">
<input type="text" size="26" name="ime">Ime: <br />
<input type="text" size="26" name="prezime">Prezime: <br />
<input type="text" size="26" name="email">E mail adresa: <br />
<textarea rows="4" cols="26" name="address"></textarea>Utisak: <br />
<input type="submit" value="Send" name="submit">
<input type="reset" value="Clear" name="reset">
</form>

</body>
</html>
Feedbackphp.php izgleda ovako:
PHP kod:
<?php


print "<h2>Hvala vam $ime, primili smo vaše informacije </h2>";
print 
"Ime: $ime <br /> \n";
print 
"Prezime: $prezime <br /> \n";
print 
"Email adresa: $email <br /> \n";
print 
"Predlog, utisak:  $address <br />\n";


$to "deusdies@gmail.com";
$subject "Feedback sa sajta";
$body "Ime: $ime \n Prezime: $prezime \n Email adresa: $email \n Predlog,utisak: $address \n";

mail($to,$subject,$body);
?>
Oba fajla su bila u istom folderu. Koristim besplatan hosting koji ne podrzava SMTP. U pocetku, skripta se pravilno izvrsavala, rezultat je bio: "Hvala vam Bogdan, primili smo vase informacije
Ime: Bogdan
itd.."
E sad, nije mi stizao mail, zato sto server ne podrzava SMTP kao sto sam rekao.

Ali, kada feedbackhtml.html i feedbackphp.php prebacim na server koji podrzava SMTP (dok ostatak sajta ostaje na ovom besplatnom serveru), dogadja se sledece:

"Hvala vam ,primili smo vase informacije
Ime:
Prezime:
itd..."

sva polja prazna! A sto je najcrnje e-mail mi stize! naravno, sa praznim podacima.

Sta je problem?
Hvala unapred!

Poslednja ispravka: holodoc (26.7.2007 u 1:18) Razlog: Sređivanje posta
Deusdies je offline   Odgovor sa citatom ove poruke
Stara 24.12.2006, 3:47   #2
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: Sta ne valja? (php)

Pa da krenemo jer ovde ima dosta stvari koje ne valjaju.

Kao prvo, prva stranica na kojoj si definisao formu je okej ali je ipak trebalo da joj daš naziv Iskreno rečeno, ovo nije neophodno za funkcionisanje skripte ali je dobra praksa. Svi tvoji problemi zbog kojih ti slanje maila ne funkcioniše nalaze se u drugoj skripti.

Kao prvo, nisi definisao standardno zaglavlje iliti tzv. “header-e” maila pa će tako sa velikom sigurnošću 99,99% servera koji budu primali ovaj mail da ga odbace jer će ga smatrati spamom.

Kao drugo, nigde u kodu nisi iskoristio podatke koje si prosledio sa prve stranice, tj. iz forme tako da je manje više i normalno da ovo neće da funkcioniše Dakle, da bi učitao vrednosti iz forme u stranicu gde šalješ mail treba da koristiš “$_POST[]” pozive umesto da samo napišeš nazive promenjljivih. Da ne grešim dušu, nešto slično kao ovo što si ti napisao postojalo je u starijim verzijama PHP-a ali striktno uz korišćenje nekih serverskih promenjljivih. Danas je to potpuno prevaziđeno.

Još jedna od grešaka koje si napravio je ta da u drugom fajlu, koji u stvari treba da prikaže nešto, nemaš ni “<html></html>” petlju akamoli ispravan “<body>”. Dakle, svaki dokument koji nešto ispisuje MORA da bude pravilno i HTML strukturiran. Da bi izbegao iznenađenja moraš da podesiš i enkoding svake stranice. Teoretski bi trebalo da se koristi “utf-8” umesto “windows-1250” ali će ti i ovaj završiti posao

Kod za “feedbackphp.php” treba da bude sledeći da bi ti sve to radilo.

PHP kod:
<html>
<head>
<title>Slanje maila</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"></head>
<body>
<?php
    
//ispisivanje informacija dobijenih formom
    
printf("<h2>Hvala vam ".$_POST['prezime'].", primili smo vaše informacije </h2>");
    
printf("Ime: ".$_POST['ime']." <br>\n");
    
printf("Prezime: ".$_POST['prezime']." <br>\n");
    
printf("Email adresa: ".$_POST['email']." <br>\n");
    
printf("Predlog, utisak: ".$_POST['address']."<br>\n");

    
$subject "Feedback sa sajta"//subject maila
    
$to "deusdies@gmail.com";//kome
    //sledi set standardnih zaglavlja neophodnih da mail bude dobro prosledjen
    //priprema headera za slanje
    
$headers  'MIME-Version: 1.0' "\r\n"//MIME v1.0 kompatibilan
    
$headers .= 'Content-type: text/plain; charset=windows-1250' "\r\n"//tip i enkoding
    
$headers .= 'From: '.$_POST['email']."\r\n" .'Reply-To: '.$_POST['email']. "\r\n" .'X-Mailer: PHP/'.phpversion(); 
    
$body "Ime: ".$_POST['ime']."\r\nPrezime: ".$_POST['prezime']."\r\nEmail adresa: ".$_POST['email']."\r\nPredlog,utisak: ".$_POST['address']."\r\n";

    if(
mail($to$subject$body$headers))//ukoliko je mail poslat
        
printf("<br>Hvala što ste odvojili vremena da pošaljete vaš feedback!");
?>
</body>
</html>
holodoc je offline   Odgovor sa citatom ove poruke
Stara 24.12.2006, 4:11   #3
Deusdies
Starosedelac
 
Član od: 9.11.2005.
Lokacija: bo@galaxy: ~$
Poruke: 1.554
Zahvalnice: 54
Zahvaljeno 439 puta na 215 poruka
Slanje poruke preko AIM-a korisniku Deusdies Slanje poruke preko MSN-a korisniku Deusdies Slanje poruke preko Skypea korisniku Deusdies
Određen forumom Re: Sta ne valja? (php)

Holodoc, majstore, ne znam sta da kazem. Ne znam kako da ti zahvalim, koliko moze ovako "elektronski"

Hvala ti puno sto si odvojio toliko vremena za mene!

Imas reputaciju od mene. To je najmanje sto mogu da ucinim


P.S. Evo ti vidi sajt (al da se chika Voja Zmaj ne bi ljutio, pod tag-om je ) ovde

Poslednja ispravka: Deusdies (24.12.2006 u 4:21)
Deusdies je offline   Odgovor sa citatom ove poruke
Stara 24.12.2006, 4:15   #4
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: Sta ne valja? (php)

Ako budeš imao sličnih problema sa PHP-om ili uopšte web dizajnom znaš gde me možeš naći
holodoc je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
[PHP] Slanje maila sa unosom podataka putem forme Alex82 Serverske aplikacije i baze podataka 16 24.11.2006 21:49


Sva vremena su po Griniču +2 h. Sada je 8:42.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com