Φορμα επικοινωνιας html

Από που να ξεκινήσω; Που θα βρω; κ.α. γενικές ερωτήσεις για την δημιουργία μιας ιστοσελίδας.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Φορμα επικοινωνιας html

Δημοσίευση από gotham78 » 04 Ιουν 2014 23:59

gotham78 έγραψε:
alou έγραψε:Στη φόρμα σου, υπάρχει αυτό:

Κώδικας: Επιλογή όλων

<form action="..." ... onsubmit="return echeck&#40;&#41;;"> 
που σημαίνει ότι πρέπει να βρει ένα javascript function με όνομα echeck() και αν επιστρέψει true να γίνει submit η φόρμα.

Επειδή μάλλον δεν υπάρχει, δεν το βρίσκει και υπάρχει προφανώς σφάλμα. Το βγάζεις (όλο το κομμάτι onsubmit="..." ) και ξαναδοκιμάζεις.
Ωραια θα το δοκιμασω το βραδυ γιατι δεν ειμα στο pc. Σβηνω μονο το

Κώδικας: Επιλογή όλων

onsubmit="return echeck&#40;&#41;;"
οκ?

Το php ειναι ενταξει?
Ούτε και με αυτες τις αλλαγες ερχεται τιποτα :(
Εικόνα

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Φορμα επικοινωνιας html

Δημοσίευση από alou » 05 Ιουν 2014 10:27

Στο php αρχείο, γίνεται ένας έλεγχος αν υπάρχει post από input με όνομα email_address

Εσύ το email το ονόμασες u_email ή κάτι τέτοιο, οπότε δεν το δέχεται και σε πάει σε ότι έχει οριστεί σαν error page.

Επίσης, γίνεται έλεγχος για μια μεταβλητή $comments που δεν υπάρχει πουθενά, ή κάτι έσβησες ή κάτι δεν έχεις βάλει σωστά.

Τα πεδία που παίρνεις με $_REQUEST['u_lastname'] , δηλαδή το u_lastname στο συγκεκριμένο, πρέπει να αντιστοιχούν με το name="..." του input / textarea κλπ της φόρμας σου.

Επίσης, στην php αφενός τσεκάρεις για πράγματα που δεν έχεις ορίσει, αφ'εταίρου δεν παίρνεις όλα τα στοιχεία που έχεις ορίσει στη φόρμα σου, πχ διεύθυνση κλπ.

Δούλεψέ το λίγο με αυτή τη λογική, στο ξεκίνημα όρισε ΟΛΑ τα πεδία που πρέπει να πάρεις σε κάποια μεταβλητή:

Κώδικας: Επιλογή όλων

$email_address = $_REQUEST&#91;'u_email'&#93;;
$comments = $_REQUEST&#91;'u_message'&#93;;
Μετά κάνε έλεγχο των στοιχείων που έχεις, αν είναι κενά κλπ και μετά θα χρειαστεί να φτιάξεις το body του message, παίρνοντας και τη μεταβλητή του μηνύματος αλλά και τα υπόλοιπα στοιχεία, διεύθυνση κλπ κλπ.

Έχεις δουλειά.

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Φορμα επικοινωνιας html

Δημοσίευση από gotham78 » 05 Ιουν 2014 21:51

Δεν πηρα ολα τα πεδια για να τσεκαρω πρώτα. Επειδή έχω μπερδευτεί πάρα πολύ και συγνώμη που σας πρίζω,
οταν το input μου είναι π.χ. το
<input type="text" name="u_company" size="30">

Στο php πως πρεπει να το κάνω?
α)$Company = $_REQUEST['u_company'];
β)$u_company = $_REQUEST['Company'];
γ)$Oti_thelw = $_REQUEST['u_company'];
δ)$u_company = $_REQUEST['u_company'];
ε)$u_company = $_REQUEST['otithelw'];
Εικόνα

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Φορμα επικοινωνιας html

Δημοσίευση από gotham78 » 05 Ιουν 2014 22:06

Επειδη δεν βλεπω να βγάζω άκρη. Πάνω στην φόρμα που σας έχω δώσει, μπορείτε να μου μετατρέψετε όπως πρέπει την php. Μην να βάλετε τα πεδία όλα. βάλτε 2 να δώ πως πάει και θα τα φτιάξω τα υπόλοιπα. Απλά τους ελέγχους της php κλπ.

Παιδιά δεν βαριέμαι να ψάξω και να διαβάσω. Το έκανα. ΔΕΝ ΚΑΤΑΛΑΒΑΙΝΩ ΤΙΠΟΤΑ.

Αν το δω έτοιμο, έστω και με ένα πεδίο της φόρμας θα καταλάβω τι πρέπει να κάνω.

Π.Χ. παρακάτω δεν μπορώ να καταλάβω αν πρέπει να αλλάξω κάτι

Κώδικας: Επιλογή όλων

 /* 
The following function checks for email injection. 
Specifically, it checks for carriage returns - typically used by spammers to inject a CC list. 
*/ 
function isInjected&#40;$str&#41; &#123; 
   $injections = array&#40;'&#40;\n+&#41;', 
   '&#40;\r+&#41;', 
   '&#40;\t+&#41;', 
   '&#40;%0A+&#41;', 
   '&#40;%0D+&#41;', 
   '&#40;%08+&#41;', 
   '&#40;%09+&#41;' 
   &#41;; 
   $inject = join&#40;'|', $injections&#41;; 
   $inject = "/$inject/i"; 
   if&#40;preg_match&#40;$inject,$str&#41;&#41; &#123; 
      return true; 
   &#125; 
   else &#123; 
      return false; 
   &#125; 
&#125; 

// If the user tries to access this script directly, redirect them to the feedback form, 
if &#40;!isset&#40;$_REQUEST&#91;'email_address'&#93;&#41;&#41; &#123; 
header&#40; "Location&#58; $feedback_page" &#41;; 
&#125; 

// If the form fields are empty, redirect to the error page. 
elseif &#40;empty&#40;$email_address&#41; || empty&#40;$comments&#41;&#41; &#123; 
header&#40; "Location&#58; $error_page" &#41;; 
&#125; 

// If email injection is detected, redirect to the error page. 
elseif &#40; isInjected&#40;$email_address&#41; &#41; &#123; 
header&#40; "Location&#58; $error_page" &#41;; 
&#125; 

// If we passed all previous tests, send the email then redirect to the thank you page. 
else &#123; 
mail&#40; "$webmaster_email", "Feedback Form Results", 
  $comments, "From&#58; $email_address" &#41;; 
header&#40; "Location&#58; $thankyou_page" &#41;; 
&#125; 
?> 

Εικόνα

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Φορμα επικοινωνιας html

Δημοσίευση από alou » 06 Ιουν 2014 00:28

Σημασία έχει το εξής:

όταν φτιάχνεις τη φόρμα, δίνεις name στα πεδία της:
<input name="some_name"....

Στην php, παίρνεις τα στοιχεία της φόρμας με βάση αυτό το name

$someName = $_REQUEST['some_name'];

Η τιμή του πεδίου σου έχει καταλήξει στη μεταβλητή $someName και την χρησιμοποιείς εκεί που πρέπει, ανάλογα τι είναι.

Πριν φτάσεις να στείλεις το email, μπορείς να πειραματιστείς και να επιβεβαιώσεις ότι έχεις σωστά τα υπόλοιπα, κάνοντας

Κώδικας: Επιλογή όλων

echo $someName; 
και αντίστοιχα την κάθε μεταβλητή που έχεις ήδη πάρει.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Φορμα επικοινωνιας html

Δημοσίευση από korgr » 06 Ιουν 2014 08:52

alou πήρα τα popcorn :)

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Φορμα επικοινωνιας html

Δημοσίευση από gotham78 » 13 Ιουν 2014 18:24

Είχα καιρό να μπω και ξανα ασχολήθηκα σήμερα. Πιστεύω είμαι πολύ κοντά, έχω κάνει πολλες παραλλαγες. Απλά πήρα τον demo κωδικα που είχα κατεβάσει και προσάρμοσα ανάλογα τα πεδία. Μονο ένα προβλημα.

Στην φόρμα μου έχω τα input π.χ.
<input type="text" name="u_lastname" size="30">
<input type="text" name="u_city" size="30">
<input type="text" name="email_address" size="30">
<textarea name="comments" rows="3" cols="30" class="insidetext1">
κλπ κλπ

Το κακό είναι οτι αν και τα έχω προσθέσει στο .php, μου έρχετε μόνο το email και το message

Η προσθήκη που έχω κάνει είναι με τα bold

Κώδικας: Επιλογή όλων

<?php
/*
This first bit sets the email address that you want the form to be submitted to.
You will need to change this value to a valid email address that you can access.
*/
$webmaster_email = "myemail@hotmail.com";

/*
This bit sets the URLs of the supporting pages.
If you change the names of any of the pages, you will need to change the values here.
*/
$feedback_page = "feedback_form.html";
$error_page = "error_message.html";
$thankyou_page = "thank_you.html";

/*
This next bit loads the form field data into variables.
If you add a form field, you will need to add it here.
*/
$email_address = $_REQUEST&#91;'email_address'&#93; ;
$comments = $_REQUEST&#91;'comments'&#93; ;
&#91;b&#93;$eponymo = $_REQUEST&#91;'lastname'&#93; ;
$onoma = $_REQUEST&#91;'u_firstname'&#93; ;
$epaggelma = $_REQUEST&#91;'u_occupation'&#93; ;
$polh = $_REQUEST&#91;'u_city'&#93; ;
$taxkodikas = $_REQUEST&#91;'u_zipCode'&#93; ;
$tilefono = $_REQUEST&#91;'u_phone'&#93; ;
$etairia = $_REQUEST&#91;'u_company'&#93; ;
$dieythinsi = $_REQUEST&#91;'u_address'&#93; ;
$epikoinonia = $_REQUEST&#91;'u_contactAccept'&#93; ;
$ctroposepikoinonias = $_REQUEST&#91;'contactType'&#93; ;&#91;/b&#93;

/*
The following function checks for email injection.
Specifically, it checks for carriage returns - typically used by spammers to inject a CC list.
*/
function isInjected&#40;$str&#41; &#123;
	$injections = array&#40;'&#40;\n+&#41;',
	'&#40;\r+&#41;',
	'&#40;\t+&#41;',
	'&#40;%0A+&#41;',
	'&#40;%0D+&#41;',
	'&#40;%08+&#41;',
	'&#40;%09+&#41;'
	&#41;;
	$inject = join&#40;'|', $injections&#41;;
	$inject = "/$inject/i";
	if&#40;preg_match&#40;$inject,$str&#41;&#41; &#123;
		return true;
	&#125;
	else &#123;
		return false;
	&#125;
&#125;
// If the user tries to access this script directly, redirect them to the feedback form,
if &#40;!isset&#40;$_REQUEST&#91;'email_address'&#93;&#41;&#41; &#123;
header&#40; "Location&#58; $feedback_page" &#41;;
&#125;

// If the form fields are empty, redirect to the error page.
elseif &#40;empty&#40;$email_address&#41; || empty&#40;$comments&#41;&#41; &#123;
header&#40; "Location&#58; $error_page" &#41;;
&#125;

// If email injection is detected, redirect to the error page.
elseif &#40; isInjected&#40;$email_address&#41; &#41; &#123;
header&#40; "Location&#58; $error_page" &#41;;
&#125;

// If we passed all previous tests, send the email then redirect to the thank you page.
else &#123;
mail&#40; "$webmaster_email", "Feedback Form Results",
  $comments, "From&#58; $email_address" &#41;;
header&#40; "Location&#58; $thankyou_page" &#41;;
&#125;

?>
korgr έγραψε:alou πήρα τα popcorn :)
Ξέρω οτι έχω γίνει κουραστικός ρε φιλαράκι αλλά είμαι πολύ απελπισμένος
Εικόνα

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Φορμα επικοινωνιας html

Δημοσίευση από geomagas » 13 Ιουν 2014 19:47

gotham78 έγραψε: Το κακό είναι οτι αν και τα έχω προσθέσει στο .php, μου έρχετε μόνο το email και το message
Αυτό συμβαίνει επειδή στέλνεις μόνο το $comments:
gotham78 έγραψε:

Κώδικας: Επιλογή όλων

$comments = $_REQUEST&#91;'comments'&#93; ;
.
.
.
mail&#40; "$webmaster_email", "Feedback Form Results",  $comments, "From&#58; $email_address" &#41;;

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Φορμα επικοινωνιας html

Δημοσίευση από gotham78 » 13 Ιουν 2014 22:46

geomagas έγραψε:
gotham78 έγραψε: Το κακό είναι οτι αν και τα έχω προσθέσει στο .php, μου έρχετε μόνο το email και το message
Αυτό συμβαίνει επειδή στέλνεις μόνο το $comments:
gotham78 έγραψε:

Κώδικας: Επιλογή όλων

$comments = $_REQUEST&#91;'comments'&#93; ;
.
.
.
mail&#40; "$webmaster_email", "Feedback Form Results",  $comments, "From&#58; $email_address" &#41;;
Ωραια... Δοκιμασα τωρα να βαλω και αλλα πεδια αλλα δεν στέλνει καν εμαιλ

τα εβαλα αν καταλαβα καλα με τετοιο στυλ

Κώδικας: Επιλογή όλων

// If we passed all previous tests, send the email then redirect to the thank you page.
else &#123;
mail&#40; "$webmaster_email", "Feedback Form Results",
  $comments, $eponymo ,$epaggelma  "From&#58; $email_address" &#41;;
header&#40; "Location&#58; $thankyou_page" &#41;;
&#125;
Εικόνα

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Φορμα επικοινωνιας html

Δημοσίευση από korgr » 13 Ιουν 2014 22:57

Να σε ρωτήσω
Αυτό είναι στα πλαίσια κάποιας εργασίας σε σχολή;

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Φορμα επικοινωνιας html

Δημοσίευση από gotham78 » 13 Ιουν 2014 23:13

οχι μωρε, βοηθαω ενα φιλο σε ενα site, αλλα εγω οτι ξερω το κανω σε wp και μου ειναι πρωτογνωρη αυτη η διαδικασια.

Αν υπαρχει προβλημα που ρωταω, οκ, ας το σβησει/κλειδωσει καποιος διαχειριστης.
Εικόνα

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Φορμα επικοινωνιας html

Δημοσίευση από geomagas » 13 Ιουν 2014 23:47

gotham78 έγραψε:Ωραια... Δοκιμασα τωρα να βαλω και αλλα πεδια αλλα δεν στέλνει καν εμαιλ

τα εβαλα αν καταλαβα καλα με τετοιο στυλ

Κώδικας: Επιλογή όλων

// If we passed all previous tests, send the email then redirect to the thank you page.
else &#123;
mail&#40; "$webmaster_email", "Feedback Form Results",
  $comments, $eponymo ,$epaggelma  "From&#58; $email_address" &#41;;
header&#40; "Location&#58; $thankyou_page" &#41;;
&#125;
Όχι, όχι. Η mail() είναι μία συνάρτηση που δέχεται συγκεκριμένες παραμέτρους.
Δοκίμασε κάτι σαν:

Κώδικας: Επιλογή όλων

$email_text="Full Name&#58; $eponymo $onoma\nComments&#58; $comments\n ..."; // klp
mail&#40; "$webmaster_email", "Feedback Form Results",
  $email_text, "From&#58; $email_address" &#41;;
Επίσης, επειδή το "δεν στέλνει καν mail" δεν λέει τίποτα, κάνε μία χάρη στον εαυτό σου: Όσο το script σου είναι σε development, έχε αυτό στην αρχή:

Κώδικας: Επιλογή όλων

error_reporting&#40;E_ALL&#41;;
ini_set&#40;"display_errors",true&#41;;

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Φορμα επικοινωνιας html

Δημοσίευση από gotham78 » 17 Ιουν 2014 22:53

Παιδιά βρήκα άλλη φόρμα που τελικά δουλεύει http://www.templatemonster.com/help/how ... -html.html

τελευταία ευκαιρια ήταν. Το επόμενο βήμα ήταν κανα τέτοιο http://www.foxyform.com/


ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΠΑΡΑ ΠΟΛΥ!!!
Εικόνα

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Φορμα επικοινωνιας html

Δημοσίευση από gotham78 » 16 Οκτ 2014 13:02

gotham78 έγραψε:Παιδιά βρήκα άλλη φόρμα που τελικά δουλεύει http://www.templatemonster.com/help/how ... -html.html

τελευταία ευκαιρια ήταν. Το επόμενο βήμα ήταν κανα τέτοιο http://www.foxyform.com/


ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΠΑΡΑ ΠΟΛΥ!!!
Παιδια επανερχομαι σε αυτο το θεμα γιατι τωρα σε τεστ αλλου email παρατηρηθηκε το εξης προβλημα. Στο email οι χαρακτηρες ερχονται ετσι Όνομα: ΠΑΝΑΞ"Ξ&#8482;Ξ

τι να κανω?
Εικόνα

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Φορμα επικοινωνιας html

Δημοσίευση από gotham78 » 16 Οκτ 2014 21:43

Τελικά πρόσθεσα αυτόν των κώδικα

Κώδικας: Επιλογή όλων

$headers  = 'MIME-Version&#58; 1.0' . "\r\n"; 
$headers .= 'Content-type&#58; text/html; charset=utf-8' . "\r\n"; 
$headers .= 'From&#58; Webmaster <members@kapou.com>' . "\r\n"; 
που διάβασα εδώ http://www.freestuff.gr/forums/viewtopic.php?t=34567 και όλα οκ...
:D
Εικόνα

Απάντηση

Επιστροφή στο “Γενικές ερωτήσεις κατασκευής ιστοσελίδων”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης