2012-05-06 2 views
1

보일러 기술자 용 웹 사이트를 구축 중이며 사이트에 양식이 있으며 사용자가 제공 한 데이터를 수집하여 전자 메일, 다음과 같은 형태입니다 - 내가 데이터를 수집하고 이메일을 보낼 수있는 다음과 같은 PHP가PHP를 사용하여 양식에서 양식 데이터 수집 및 전자 메일로 보내기

<form name="fix" method="POST" action="http://localhost/PHP/fixscript.php"> 
<table width="800" border="0" cellspacing="10" cellpadding="5"> 
<tr> 
<td width="230" valign="top" align="right">First name: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="fName" id="fName" size="50" maxlength="20" /></td> 
</tr> 
<tr> 
<td width="230" valign="top" align="right">Surname: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="lName" id="lName" size="50" maxlength="20" /></td> 
</tr> 
<tr> 
<td width="230" valign="top" align="right">Contact phone number: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="phone" id="phone" size="50" maxlength="20" /></td> 
</tr> 
<tr> 
<td width="230" valign="top" align="right">Email: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="email" id="email" size="50" maxlength="75" /></td> 
</tr> 
<tr> 
<td width="230" valign="top" align="right">House name or number: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="num" id="num" size="50" maxlength="75" /></td> 
</tr> 
<tr> 
<td width="230" valign="top" align="right">First line of your address: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="address1" id="address1" size="50" maxlength="100" /></td> 
</tr> 
<tr> 
<td width="230" valign="top" align="right">Second line of your address: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="address2" id="address2" size="50" maxlength="100" /></td> 
</tr> 
<tr> 
<td width="230" valign="top" align="right">Town/City: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="city" id="city" size="50" maxlength="50" /></td> 
</tr> 
<tr> 
<td width="230" valign="top" align="right">County: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="county" id="county" size="50" maxlength="50" /></td> 
</tr> 
<tr> 
<td width="230" valign="top" align="right">Post code: </td> 
<td width="503" valign="top" align="left"> 
<input type="text" name="postCode" id="postCode" size="50" maxlength="10" /></td> 
</tr> 
<tr id="fuel"> 
<td width="230" valign="top" align="right">Fuel Type: </td> 
<td width="503" valign="top" align="left"> 
<input type="radio" name="fuelType" id="fuel1" value="Natural Gas" onclick="showOptions(this);" /> 
<label for="fuel1">Natural Gas</label> 
<input type="radio" name="fuelType" id="fuel2" value="LPG" onclick="showOptions(this);" /> 
<label for="fuel2">LPG</label> 
<input type="radio" name="fuelType" id="fuel3" value="Oil" onclick="showOptions(this);" /> 
<label for="fuel3">Oil</label> 
</td> 
</tr> 
<tr id="bmgas"> 
<td width="230" valign="top" align="right">Boiler manufacturer: </td> 
<td width="503" valign="top" align="left"> 
<select name="gas" id="gas" > 
<option value="0">Natural Gas</option> 
<option value="Alpha Boilers">Alpha Boilers</option> 
<option value="Ariston">Ariston</option> 
<option value="Baxi">Baxi</option> 
<option value="Biasi">Biasi</option> 
<option value="Broag">Broag</option> 
<option value="Ferroli">Ferroli</option> 
<option value="Glowworm">Glowworm</option> 
<option value="Halstead Heating">Halstead Heating</option> 
<option value="Ideal Boilers">Ideal Boilers</option> 
<option value="Ikon">Ikon</option> 
<option value="Jaguar">Jaguar</option> 
<option value="Johnson &amp; Starlay">Johnson &amp; Starlay</option> 
<option value="Keston Boilers">Keston Boilers</option> 
<option value="Potterton">Potterton</option> 
<option value="Range Powermax">Range Powermax</option> 
<option value="Raven Heat">Raven Heat</option> 
<option value="Vaillant">Vaillant</option> 
<option value="Viessmann">Viessmann</option> 
<option value="Vokera">Vokera</option> 
<option value="Worcester">Worcester</option> 
<option value="Unknown">Unknown</option> 
<option value="Not Listed">Not Listed</option> 
</select> 
</td> 
</tr> 
<tr id="bmlpg"> 
<td width="230" valign="top" align="right">Boiler manufacturer: </td> 
<td width="503" valign="top" align="left"> 
<select name="lpg" id="lpg"> 
<option value="0">LPG</option> 
<option value="Alpha Boilers">Alpha Boilers</option> 
<option value="Baxi">Baxi</option> 
<option value="Keston Boilers">Keston Boilers</option> 
<option value="Potterton">Potterton</option> 
<option value="Vaillant">Vaillant</option> 
<option value="Viessmann">Viessmann</option> 
<option value="Worcester">Worcester</option> 
<option value="Unknown">Unknown</option> 
<option value="Not Listed">Not Listed</option> 
</select> 
</td> 
</tr> 
<tr id="bmoil"> 
<td width="230" valign="top" align="right">Boiler manufacturer: </td> 
<td width="503" valign="top" align="left"> 
<select name="oil" id="oil"> 
<option value="0">Oil</option> 
<option value="Buderas">Buderas</option> 
<option value="Danesmoor">Danesmoor</option> 
<option value="Firebird">Firebird</option> 
<option value="Grant">Grant</option> 
<option value="HRM">HRM</option> 
<option value="Nuway Oil">Nuway Oil</option> 
<option value="Thermeco">Thermeco</option> 
<option value="Trianco">Trianco</option> 
<option value="Worcester">Worcester</option> 
<option value="Unknown">Unknown</option> 
<option value="Not Listed">Not Listed</option> 
</select> 
</td> 
</tr> 
<tr id="sevice"> 
<td width="230" valign="top" align="right">Last Service: </td> 
<td width="503" valign="top" align="left"> 
<select name="lastServ" id="lastServ"> 
<option value="0">Last Service</option> 
<option value="6 months">Less than 6 months ago</option> 
<option value="1 year">One year ago</option> 
<option value="2 years">Two years ago</option> 
<option value="never">Never been serviced</option> 
<option value="unknown">unknown</option> 
</select> 
</td> 
</tr> 
<tr id="message"> 
<td class="form" width="230" valign="top" align="right">Your message: </td> 
<td width="503" valign="top" align="left"> 
<textarea name="msg" id="msg" cols="40" rows="10"></textarea> 
</td> 
</tr> 
<tr id="message1"> 
<td width="230" valign="top" align="right">Brief Description of fault: </td> 
<td width="503" valign="top" align="left"> 
<textarea name="msg1" id="msg1" cols="40" rows="10"></textarea> 
</td> 
</tr> 
<tr> 
<td width="230" valign="top"> </td> 
<td width="503" valign="top" align="left"> 
<input type="button" name="return" id="return" class="button" value="Return" onclick="location.reload;" />&nbsp;&nbsp;&nbsp;&nbsp; 
<input type="reset" name="reset" class="button2" value="Reset" onclick="hide(bmgas, bmlpg, bmoil);" />&nbsp;&nbsp;&nbsp;&nbsp; 
<input type="submit" name="submit" class="button3" value="Submit" onsubmit="checkForm();" /> 
</td> 
</tr> 
</table> 
</form> 

를,이 이메일을 전송하지만 제공되는 데이터의 수집하지 않습니다 ..... 난 빈 이메일을 얻을 !

<?php 

// VALUES FROM THE FORM 

$first  = $_POST['fName']; 
$last  = $_POST['lName']; 
$phone  = $_POST['phone']; 
$email  = $_POST['email']; 
$number  = $_POST['num']; 
$address1 = $_POST['address1']; 
$address2 = $_POST['address2']; 
$city  = $_POST['city']; 
$county  = $_POST['county']; 
$postCode = $_POST['postCode']; 
$fuelType = $_POST['fuelType']; 
$fuelGas = $_POST['gas']; 
$fuelLpg = $_POST['lpg']; 
$fuelOil = $_POST['oil']; 
$lastServ = $_POST['lastServ']; 
$msg  = $_POST['msg']; 
$msg1  = $_POST['msg1']; 

// CREATE THE EMAIL 

$headers = "Content-Type: text/plain; charset=iso-8859-1\n"; 

$headers = "From: $first $last <$email>\n"; 

$recipient = "[email protected]"; 

$subject = "Message from blah.com"; 

$message = wordwrap($message, $fName, $lName, $phone, $number, $address1, $address2, $city, $county, $postCode, $fuelType, $fuelGas, $fuelLpg, $fuelOil, $lastServ, $msg, $msg1, 1024); 



// SEND THE EMAIL TO YOU 

mail($recipient, $subject, $message, $headers); 



// REDIRECT TO THE THANKS PAGE 

header("location: thanks.php"); 

?>

도와주세요, 당신은 제대로 자동 줄 바꿈 기능을 사용하지 않는 많은 감사

+0

데이터를 수집 한 후 예를 들어 확인하십시오. $ first가 포함됩니다. 괜찮 으면, wordwrap (...)의 결과가 무엇인지 확인하십시오. –

+0

[wordwrap] (http://php.net/manual/en/function.wordwrap.php) – Musa

+0

두 번째 페이지에 'var_dump ($ message)'라고 단어를 써서 단어 랩핑을 한 후 얻은 것을 확인하십시오. – Norse

답변

0

괜찮아 내가 함께 할 관리 -

<?php 

// VALUES FROM THE FORM 

$first  = $_REQUEST['fName']; 
$last  = $_REQUEST['lName']; 
$phone  = $_REQUEST['phone']; 
$email  = $_REQUEST['email']; 
$number  = $_REQUEST['num']; 
$address1 = $_REQUEST['address1']; 
$address2 = $_REQUEST['address2']; 
$city  = $_REQUEST['city']; 
$county  = $_REQUEST['county']; 
$postCode = $_REQUEST['postCode']; 
$fuelType = $_REQUEST['fuelType']; 
$fuelGas = $_REQUEST['gas']; 
$fuelLpg = $_REQUEST['lpg']; 
$fuelOil = $_REQUEST['oil']; 
$lastServ = $_REQUEST['lastServ']; 
$msg  = $_REQUEST['msg']; 
$msg1  = $_REQUEST['msg1']; 

$fields = array(); 
$fields{"fName"} = "First Name"; 
$fields{"lName"} = "Last Name"; 
$fields{"phone"} = "Phone Number"; 
$fields{"email"} = "Email"; 
$fields{"num"} = "House Number or Name"; 
$fields{"address1"} = "First Line Of Address"; 
$fields{"address2"} = "Second Line Of Address"; 
$fields{"city"} = "Town Or City"; 
$fields{"county"} = "County"; 
$fields{"postCode"} = "Post Code"; 
$fields{"fuelType"} = "Fuel Type"; 
$fields{"gas"} = "Gas Boiler Type"; 
$fields{"lpg"} = "LPG Boiler Type"; 
$fields{"oil"} = "Oil Boiler Type"; 
$fields{"lastServ"} = "last Serviced"; 
$fields{"msg"} = "Message"; 
$fields{"msg1"} = "Description of fault"; 

// CREATE THE EMAIL 

$headers = "Content-Type: text/plain; charset=iso-8859-1\n"; 

$headers = "From: $first $last <$email>\n"; 

$recipient = "[email protected]"; 

$subject = "Message from iFixBoilers.com"; 

$message = "A message has been sent from: \n\n"; foreach($fields as $a => $b){ $message .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); } 

// SEND THE EMAIL TO YOU 

mail($recipient, $subject, $message, $headers); 



// REDIRECT TO THE THANKS PAGE 

header("location: thanks.php"); 

>

유일한 것은 메일이

A message has been sent from: 

      First Name: rob 
      Last Name: whatever 
     Phone Number: 01901111118 
       Email: [email protected] House Number or Name: 1001 First Line Of Address: where ever crescent Second Line Of Address: bton by sea 
     Town Or City: bton 
       County: sussex 
      Post Code: bn11 1bb 
      Fuel Type: Natural Gas 
    Gas Boiler Type: Glowworm 
    LPG Boiler Type: 0 
    Oil Boiler Type: 0 
     last Serviced: 2 years 
      Message: 
Description of fault: sdfgdfgdgdfgdgdfgdgdgsd 

처럼 나오는 이유 집 이름이나 번호 /의 첫 번째 줄은 무엇입니까? 주소/두 번째 줄의 주소가 깨지지 않았습니까?

1

, 당신은 하나의 문자열을 전달해야합니다. 문자열을 단어 랩에 전달하기 전에 추가하십시오.

$message = $fName . $lName . $... 

또한 내가 잘못 인수를 자동 줄 바꿈 사용하는 일부 데이터가 당신의 원인을 회복하지 않습니다 보면, 문제가 무엇인지 알고 http://php.net/manual/en/function.wordwrap.php

+0

미안하지만 나는 PHP에 익숙하지 않다. 나는 이름, 성, 이메일 등의 이메일에있는 데이터를보고 싶다. –

0

에 자동 줄 바꿈 기능을 참조하십시오, 봐 :

$message = wordwrap($message, $fName, $lName, $phone, $number, $address1, $address2, $city, $county, $postCode, $fuelType, $fuelGas, $fuelLpg, $fuelOil, $lastServ, $msg, $msg1, 1024); 

$fName을 사용하는 경우 올바르지 않으므로 ABOVE 코드에서 $_POST['fName']으로 선언되지만 $ city는 실제로 $_POST에서 로컬 변수로 전송됩니다.

코드에서 $fName을 $ first 및 다른 변수로 변경해야합니다. 행운을 빕니다.

관련 문제