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

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

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

Απάντηση
matrixjo
Δημοσιεύσεις: 66
Εγγραφή: 05 Νοέμ 2007 22:32
Επικοινωνία:

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

Δημοσίευση από matrixjo » 20 Απρ 2008 17:07

Λοιπόν χρησιμοποίησα μια φόρμα επικοινωνίας αλλά μου παρουσιάζει ένα γνωστό πρόβλημα : Δεν κάνει αποστολή στο e-mail μου τα στοιχεία της φόρμας καμιά γνώμη τι φταίει?Η σελίδα μου είναι η : www.leveltgp.gr Η φόρμα είναι σε php και ο κώδικας αυτός.

Κώδικας
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>epikoinwnia</title>
<style type="text/css">
<!--
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
margin: 0; /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */
padding: 0;
text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */
color: #000000;
background-color: #3A3A3A;
border-top-width: thin;
border-right-width: thin;
border-bottom-width: thin;
border-left-width: thin;
border-top-style: groove;
border-right-style: groove;
border-bottom-style: groove;
border-left-style: groove;
}
.thrColLiqHdr #container {
width: 80%;
margin: 0 auto; /* the auto margins (in conjunction with a width) center the page */
border: thin groove #CCCCCC;
text-align: left; /* this overrides the text-align: center on the body element. */
background-color: #333333;
color: #CCFF99;
}
.thrColLiqHdr #header {
padding: 0 10px; /* this padding matches the left alignment of the elements in the divs that appear beneath it. If an image is used in the #header instead of text, you may want to remove the padding. */
background-color: #666699;
border: thin none #CCCCCC;
}
.thrColLiqHdr #header h1 {
margin: 0; /* zeroing the margin of the last element in the #header div will avoid margin collapse - an unexplainable space between divs. If the div has a border around it, this is not necessary as that also avoids the margin collapse */
padding: 10px 0;
border-top-width: thin;
border-right-width: thin;
border-bottom-width: thin;
border-left-width: thin;
border-top-style: none;
border-right-style: none;
border-bottom-style: inset;
border-left-style: none;
border-top-color: #CCCCCC;
border-right-color: #CCCCCC;
border-bottom-color: #CCCCCC;
border-left-color: #CCCCCC;
background-color: #666699;
}

/* Tips for sidebars:
1. Since we are working in percentages, it's best not to use side padding on the sidebars. It will be added to the width for standards compliant browsers creating an unknown actual width.
2. Space between the side of the div and the elements within it can be created by placing a left and right margin on those elements as seen in the ".thrColLiqHdr #sidebar1 p" rule.
3. Since Explorer calculates widths after the parent element is rendered, you may occasionally run into unexplained bugs with percentage-based columns. If you need more predictable results, you may choose to change to pixel sized columns.
*/
.thrColLiqHdr #sidebar1 {
float: left; /* this element must precede in the source order any element you would like it be positioned next to */
width: 30%; /* the background color will be displayed for the length of the content in the column, but no further */
padding: 15px 0; /* top and bottom padding create visual space within this div */
background-color: #484891;
color: #CCCCFF;
border-top-width: thin;
border-right-width: thin;
border-bottom-width: thin;
border-left-width: thin;
border-top-style: groove;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
border-top-color: #CCCCCC;
border-right-color: #CCCCCC;
border-bottom-color: #CCCCCC;
border-left-color: #CCCCCC;
text-align: justify;
}
.thrColLiqHdr #sidebar2 {
float: right; /* this element must precede in the source order any element you would like it be positioned next to */
width: 30%; /* the background color will be displayed for the length of the content in the column, but no further */
padding: 15px 0; /* top and bottom padding create visual space within this div */
background-color: #484891;
border-top-width: thin;
border-right-width: thin;
border-bottom-width: thin;
border-left-width: thin;
border-top-style: groove;
border-left-style: none;
border-top-color: #CCCCCC;
border-right-color: #CCCCCC;
border-bottom-color: #CCCCCC;
border-left-color: #CCCCCC;
border-right-style: none;
line-height: normal;
}
.thrColLiqHdr #sidebar1 p, .thrColLiqHdr #sidebar1 h3, .thrColLiqHdr #sidebar2 p, .thrColLiqHdr #sidebar2 h3 {
margin-left: 10px; /* the left and right margin should be given to every element that will be placed in the side columns */
margin-right: 10px;
background-color: #484891;
}

/* Tips for mainContent:
1. the space between the mainContent and sidebars is created with the left and right margins on the mainContent div.
2. to avoid float drop at a supported minimum 800 x 600 resolution, elements within the mainContent div should be 300px or smaller (this includes images).
3. in the Internet Explorer Conditional Comment below, the zoom property is used to give the mainContent "hasLayout." This avoids several IE-specific bugs.
*/
.thrColLiqHdr #mainContent {
margin: 0 24% 0 23.5%; /* the right and left margins on this div element creates the two outer columns on the sides of the page. No matter how much content the sidebar divs contain, the column space will remain. You can remove this margin if you want the #mainContent div's text to fill the sidebar spaces when the content in each sidebar ends. */
background-color: #484891;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #CCCCCC;
border: thick none #0000FF;
}

.thrColLiqHdr #footer {
padding: 0 10px;
background-color: #6633FF;
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #CCFFFF;
}
.thrColLiqHdr #footer p {
margin: 0; /* zeroing the margins of the first element in the footer will avoid the possibility of margin collapse - a space between divs */
padding: 10px 0; /* padding on this element will create space, just as the the margin would have, without the margin collapse issue */
}

/* Miscellaneous classes for reuse */
.fltrt { /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
float: right;
margin-left: 8px;
background-color: #99FF00;
}
.fltlft { /* this class can be used to float an element left in your page The floated element must precede the element it should be next to on the page. */
float: left;
margin-right: 8px;
background-color: #99FF00;
}
.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain its child floats */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
background-color: #CCCCCC;
}
.style10 {
font-size: small;
line-height: 100%;
height: auto;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.style11 {
color: #0000FF;
font-style: italic;
background-color: #CCCCCC;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
a:active {
text-decoration: none;
}
.style15 {
color: #CCFFCC
}
.style27 {
color: #CCFFFF;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
border-top-color: #CCCCCC;
border-right-color: #CCCCCC;
border-bottom-color: #CCCCCC;
border-left-color: #CCCCCC;
}
.style28 {color: #000000}
.style29 {
color: #CCFF99;
font-style: italic;
font-weight: bold;
}
.style30 {
color: #FF9900;
font-size: large;
}
-->
</style>
<!--[if IE]>
<style type="text/css">
/* place css fixes for all versions of IE in this conditional comment */
.thrColLiqHdr #sidebar2, .thrColLiqHdr #sidebar1 { padding-top: 30px; }
.thrColLiqHdr #mainContent { zoom: 1; padding-top: 15px; }
/* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
</style>
<![endif]-->
<script src="../Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} }
//-->
</script>
</head>

<body class="thrColLiqHdr">
<p>
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shoc ... ','/header' ); //end AC code
</script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shoc ... n=9,0,28,0" width="411" height="100" title="header">
<param name="movie" value="/header.swf" />
<param name="quality" value="high" />
<embed src="/header.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download ... kwaveFlash" type="application/x-shockwave-flash" width="411" height="100"></embed>
</object>
</noscript>
</p>
<p>
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shoc ... e','/menou' ); //end AC code
</script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shoc ... n=9,0,28,0" width="790" height="42" title="menou">
<param name="movie" value="/menou.swf" />
<param name="quality" value="high" />
<embed src="/menou.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download ... kwaveFlash" type="application/x-shockwave-flash" width="790" height="42"></embed>
</object>
</noscript>
</p>
<div id="container"><div id="header">
<h1 align="center" class="style11">Φόρμα επικοινωνίας</h1>
<!-- end #header --></div>
<p align="justify">
<!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats -->
Εδώ μπορείται να μας δώσετε στοιχεία για εργασία που επιθυμείτε να γίνει από την <span class="style15">Level</span> <span class="style28">Technical Group</span> και να σας αποστείλουμε <span class="style29"><u>ενδεικτικά </u></span>, κοστολόγηση των υπηρεσιών που μας ζητήσατε.</p>
<p align="center" class="style30"><u>Επιπλέον μπορείται να επικοινωνείται με τους παρακάτω τρόπους</u></p>
<p align="center">e-mail:support@leveltgp.gr - john@leveltgp.gr</p>
<p align="center">Τηλ: 6938 /641069</p>
<form id="form1" name="form1" method="post" action="">
<p align="justify">

<form action="send_email.php" method="post" enctype="multipart/form-data" onSubmit="MM_validateForm('name','','R','tel','','R','email','','R','message','','R');return document.MM_returnValue">
<table align="center" cellpadding="2" cellspacing="0" onfocus="MM_validateForm('name','','R','tel','','R','email','','R','message','','R');return document.MM_returnValue">
<tr>
<td width="161"><font class="mailformtext">Όνομα:<span class="style1 style15">*</span></font></td>
<td width="261"><input name="name" type="text" class="mailformfield" id="name" value="" size="32" maxlength="20"></td>
</tr>
<tr>
<td><font class="mailformtext">Τηλέφωνο:<span class="style1 style15">*</span></font></td>
<td><input name="tel" type="text" class="mailformfield" id="tel" value="" size="32" maxlength="15"></td>
</tr>
<tr>
<td><font class="mailformtext">Διεύθυνση email:<span class="style1 style15">*</span></font></td>
<td><input class=mailformfield type="text" name="email" id="email" size="32" /></td>
</tr>
<tr>
<td valign="top"><font class="mailformtext">Μήνυμα:<span class="style1 style15">*</span></font></td>
<td><textarea class=mailformfield name="message" cols="34" rows="5" id="message"></textarea></td>
</tr>
<tr>
<td><font class="mailformtext">Επισύναψη:</font></td>
<td><input class=mailformfield type="file" name="file1"></td>
</tr>
<tr>
<td height="43"></td>
<td>
<div align="left">
<input class=mailformbutton name="Send message" type="submit" id="Send message "value="Αποστολή μηνύματος"/>
<input class=mailformbutton type="reset" name="Reset" id="button" value="Καθαρισμός">
</div> <label>
<div align="left"></div>
</label></td>
</tr>
<tr>
<td colspan="2"><div align="right">
<p>&nbsp;



<b><font class="mailformtext">
<?php

$status = $_GET['status'];

if($status=="1") {

echo 'Το μήνυμα στάλθηκε επιτυχώς!';

} elseif ($status=="0") {

echo 'Το μήνυμα δεν στάλθηκε! Ελέγξτε τα στοιχεία σας.';

} else {

echo"";

}

?>
</font></b></p>
</div> </td>
</tr>
</table>
</form>
</div>
</div>
</body>

</html>
</label>

</label>
</p>

<p align="justify">
<label>

</label>
</p>
<p align="justify">&nbsp;</p>
<p align="center">
<label>

</label>
</p>
</form>
<div align="justify"><p align="center" class="style27">&nbsp;</p>
<p>* Τα στοιχεία με την σήμανση <span class="style15">*</span> είναι υποχρεωτικά να συμπληρωθούν.</p>
<p>&nbsp;</p>
<p><br class="clearfloat" />
</p>
<div id="footer">
<p><span class="style63 style10">Σχεδίαση Επιμέλεια 2007 - 2008 Level Technical Group. Designed by Fellas Ioannis Tel : 6938 / 641069</span></p>
<!-- end #footer --></div>
<!-- end #container --></div></div>
</body>
</html>

Κώδικας του php
<?php
$admin_email = "john@leveltgp.gr";

$email_subject = "New message";
$check_email = check_email_address($_REQUEST['email']);
$mime_boundary= "==Multipart_Boundary_x".md5(mt_rand())."x";
$headers = "From: $check_email\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: multipart/mixed;\r\n" .
" boundary=\"{$mime_boundary}\"";

$message = "Onoma:" .$_POST['name'] ."\n".
"Til:" .$_POST['tel'] ."\n".
"Minima:".$_POST['message'];

$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-7\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n";

function check_email_address($email) {
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
header("Location: mail.php?status=0");
}
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
header("Location: mail.php?status=0");
}
}
if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) {
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2) {
die ("Invalid email address");
}
for ($i = 0; $i < sizeof($domain_array); $i++) {
if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
header("Location: mail.php?status=0");
}
}
}
return $email;
}


foreach($_FILES as $userfile){
$tmp_name = $userfile['tmp_name'];
$type = $userfile['type'];
$name = $userfile['name'];
$size = $userfile['size'];

if (file_exists($tmp_name)){
if(is_uploaded_file($tmp_name)){
$file = fopen($tmp_name,'rb');
$data = fread($file,filesize($tmp_name));
fclose($file);
$data = chunk_split(base64_encode($data));
}

$message .= "--{$mime_boundary}\n" .
"Content-Type: {$type};\n" .
" name=\"{$name}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
}
}

$message.="--{$mime_boundary}--\n";

if(@mail($admin_email,$email_subject,$message,$headers)) {
header("Location: mail.php?status=1");
exit;
} else {
header("Location: mail.php?status=0");
}
?>
Λοιπόν αυτό είναι αν έχετε καμιά λύση θα μαι ευγνώμων.
Level Technical Group
Φελλάς Ιωάννης
Master Administrator - Web Designer
Κοτζιά 24 Περιστέρι 12137 Αθήνα

dimis283
Δημοσιεύσεις: 118
Εγγραφή: 12 Ιουν 2006 00:53

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

Δημοσίευση από dimis283 » 20 Απρ 2008 18:13

Είναι δύσκολο να πάρεις το http://phpmailer.codeworxtech.com/ ?

matrixjo
Δημοσιεύσεις: 66
Εγγραφή: 05 Νοέμ 2007 22:32
Επικοινωνία:

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

Δημοσίευση από matrixjo » 21 Απρ 2008 04:08

Λίγο πιο αναλυτικός να σουν !!!! Τι εννοείς δίνοντας μου την σελίδα αυτή?
Level Technical Group
Φελλάς Ιωάννης
Master Administrator - Web Designer
Κοτζιά 24 Περιστέρι 12137 Αθήνα

Άβαταρ μέλους
Marinos Stergiou
Δημοσιεύσεις: 741
Εγγραφή: 12 Νοέμ 2006 14:49
Τοποθεσία: Τριτοκοσμική

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

Δημοσίευση από Marinos Stergiou » 21 Απρ 2008 09:45

Εννοεί να χρησιμποποιήσεις την εφαρμογή στο link που σου δίνει

Άβαταρ μέλους
p_pan
Δημοσιεύσεις: 1248
Εγγραφή: 11 Φεβ 2007 20:45
Τοποθεσία: Άστεγος!

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

Δημοσίευση από p_pan » 21 Απρ 2008 20:12

re paidia ton kodika balte ton sta sosta tag.......
den mporoume na ton diabasoume
Αγράματος...

matrixjo
Δημοσιεύσεις: 66
Εγγραφή: 05 Νοέμ 2007 22:32
Επικοινωνία:

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

Δημοσίευση από matrixjo » 21 Απρ 2008 21:04

Το link το χρησιμοποίησα δεν εννοούσα αυτό ποια εφαρμογή όμως στην σελίδα αυτή δεν μου δίνει κάτι για κατέβασμα !!! Να σε καλά.
Level Technical Group
Φελλάς Ιωάννης
Master Administrator - Web Designer
Κοτζιά 24 Περιστέρι 12137 Αθήνα

Άβαταρ μέλους
Marinos Stergiou
Δημοσιεύσεις: 741
Εγγραφή: 12 Νοέμ 2006 14:49
Τοποθεσία: Τριτοκοσμική

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

Δημοσίευση από Marinos Stergiou » 21 Απρ 2008 21:08


matrixjo
Δημοσιεύσεις: 66
Εγγραφή: 05 Νοέμ 2007 22:32
Επικοινωνία:

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

Δημοσίευση από matrixjo » 22 Απρ 2008 02:09

Οκ ευχαριστώ
Level Technical Group
Φελλάς Ιωάννης
Master Administrator - Web Designer
Κοτζιά 24 Περιστέρι 12137 Αθήνα

Απάντηση

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

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

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