php/sendmail help!
| From: | JeRRy | Date: | Tue, 07 Feb 2006 02:22:53 +0000 |
| Subject: | php/sendmail help! | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-41187@lists.php.net to get a copy of this message | ||
Hi, I have a form, form results are PUSHED to another page and processed. Files below. (in
plain-tet)
Now this is what I want to do:
1) Make all fields required input, but if easy to configure I want to have rules for each
textarea. For instance an email address must contain a '@' symbol. Must be at leat 5
character longs and must be in a form of an email address. So if I type you@me it would produce an
error, highlighting the error area or display a message at the top of the page. Postcode should
contain 4 numbers and numbers only, etc. The only field that can be left blank will be the message
area. How do I achieve this? (message regarding this below)
2) I want to add to the form a UNIQUE ID generater. I will add a new hidden form field for this.
I need a script called by PHP to generate it. Would include both letters and numbers and be atleast
8 CHARS long.
As for 1) I have tried some javascript but it failed, since I PUSH all field responses to another
page. When i add it the submit button fails and does not push the results through. But it produces
the error fine, but form is not PUSHED on. So it seems it's lost because of the javascript.
So i took it out completely. I think there is a way in PHP to call errors for forms? But anways,
here are the files below. Please help, I am on a tight schedule here if anyone can assist me.
file one looks like this: (form.php)
<? include("header.php");?>
<table width="800" border="0">
<tr>
<td width="270" valign="top"><?
include("menu.php");?></td>
<td width="500" valign="center">
<DIV ALIGN=JUSTIFY>
<? include("ads.php");?>
<h1><b>Pre Order Form!</h1></b>
<TABLE WIDTH="90%" ALIGN="left" CELLSPACING="1"
CELLPADDING="4" BORDER="0">
<FORM ACTION=contact1.php METHOD=POST>
<font face="arial">
<tr><td>First Name:</td> <td><INPUT TYPE="text"
NAME="firstname" SIZE="25"
MAXLENGTH="20"></td></tr><BR><B><tr><td>
Last Name:</td></B><td><INPUT TYPE="text" NAME="lastname"
SIZE="25" MAXLENGTH="25"></td></tr><B><tr><td>
<B><tr><td>Company:</td></B><td><INPUT TYPE="text"
NAME="company" SIZE="25"
MAXLENGTH="25"></td></tr><BR><B><tr><td>
Unit/House #:</td></B><td><INPUT TYPE="text"
NAME="address1" SIZE="25"
MAXLENGTH="6"></td></tr><BR><B><tr><td>
Street Name:</td></B><td><INPUT TYPE="text" NAME="address2"
SIZE="25"
MAXLENGTH="25"></td></tr><BR><B><tr><td>
Suburb/Town:</td></B><td><INPUT TYPE="text" NAME="suburb"
SIZE="25"
MAXLENGTH="25"></td></tr><BR><B><tr><td>
Post Code/Zip:</td></B><td><INPUT TYPE="text"
NAME="postcode" SIZE="25"
MAXLENGTH="25"></td></tr><BR><B><tr><td>
Phone #:</td></B><td><INPUT TYPE="text" NAME="phone"
SIZE="25"
MAXLENGTH="25"></td></tr><BR><B><tr><td>
Email Address:</td></B><td><INPUT TYPE="text"
NAME="emailaddress" SIZE="25"
MAXLENGTH="25"></td></tr><BR><B><tr><td></td></B><td>
</td></tr><BR><B><tr><td>Country:</td></B><td><SELECT
NAME="country" SIZE="1"><OPTION SELECTED>AUSTRALIA<OPTION>NEW
ZEALAND<OPTION>FIJI<OPTION>UNITED
KINGDOM<OPTION>GERMANY<OPTION>SWEDEN<OPTION>CANADA<OPTION>-----------------<OPTION>AFGHANISTAN<OPTION>ALBANIA<OPTION>ALGERIA<OPTION>AMERICAN
SAMOA<OPTION>ANDORRA<OPTION>ANGOLA<OPTION>ANGUILLA<OPTION>ANTARCTICA<OPTION>ANTIGUA
AND
BARBUDA<OPTION>ARGENTINA<OPTION>ARMENIA<OPTION>ARUBA<OPTION>AUSTRIA<OPTION>AZERBAIJAN<OPTION>BAHAMAS<OPTION>BAHRAIN<OPTION>BANGLADESH<OPTION>BARBADOS<OPTION>BELARUS<OPTION>BELGIUM<OPTION>BELIZE<OPTION>BENIN<OPTION>BERMUDA<OPTION>BHUTAN<OPTION>BOLIVIA<OPTION>BOSNIA
AND HERZEGOWINA<OPTION>BOTSWANA<OPTION>BOUVET
ISLAND<OPTION>BRAZIL<OPTION>BRITISH INDIAN OCEAN TERRITORY<OPTION>BRUNEI
DARUSSALAM<OPTION>BULGARIA<OPTION>BURKINA
FASO<OPTION>BURUNDI<OPTION>CAMBODIA<OPTION>CAMEROON<OPTION>CANADA<OPTION>CAPE
VERDE<OPTION>CAYMAN ISLANDS<OPTION>CENTRAL AFRICAN
REPUBLIC<OPTION>CHAD<OPTION>CHILE<OPTION>CHINA<OPTION>CHRISTMAS
ISLAND<OPTION>COCOS (KEELING)
ISLANDS<OPTION>COLOMBIA<OPTION>COMOROS<OPTION>CONGO<OPTION>COOK
ISLANDS<OPTION>COSTA RICA<OPTION>COTE D'IVOIRE<OPTION>CROATIA (local name:
Hrvatska)<OPTION>CUBA<OPTION>CYPRUS<OPTION>CZECH
REPUBLIC<OPTION>DENMARK<OPTION>DJIBOUTI<OPTION>DOMINICA<OPTION>DOMINICAN
REPUBLIC<OPTION>EAST TIMOR<OPTION>ECUADOR<OPTION>EGYPT<OPTION>EL
SALVADOR<OPTION>EQUATORIAL
GUINEA<OPTION>ERITREA<OPTION>ESTONIA<OPTION>ETHIOPIA<OPTION>FALKLAND ISLANDS
(MALVINAS)<OPTION>FAROE
ISLANDS<OPTION>FIJI<OPTION>FINLAND<OPTION>FRANCE<OPTION>FRANCE,
METROPOLITAN<OPTION>FRENCH GUIANA<OPTION>FRENCH POLYNESIA<OPTION>FRENCH
OTHER<OPTION>GABON<OPTION>GAMBIA<OPTION>GEORGIA<OPTION>GERMANY<OPTION>GHANA<OPTION>GIBRALTAR<OPTION>GREECE<OPTION>GREENLAND<OPTION>GRENADA<OPTION>GUADELOUPE<OPTION>GUAM<OPTION>GUATEMALA<OPTION>GUINEA<OPTION>GUINEA-BISSAU<OPTION>GUYANA<OPTION>HAITI<OPTION>HEARD
AND MC DONALD ISLANDS<OPTION>HONDURAS<OPTION>HONG
KONG<OPTION>HUNGARY<OPTION>ICELAND<OPTION>INDIA<OPTION>INDONESIA<OPTION>IRAN
(ISLAMIC REPUBLIC
OF)<OPTION>IRAQ<OPTION>IRELAND<OPTION>ISRAEL<OPTION>ITALY<OPTION>JAMAICA<OPTION>JAPAN<OPTION>JORDAN<OPTION>KAZAKHSTAN<OPTION>KENYA<OPTION>KIRIBATI<OPTION>KOREA<OPTION>KUWAIT<OPTION>KYRGYZSTAN<OPTION>LATVIA<OPTION>LEBANON<OPTION>LESOTHO<OPTION>LIBERIA<OPTION>LIBYAN
ARAB JAMAHIRIYA<OPTION>LIECHTENSTEIN<OPTION>LITHUANIA<OPTION>LOCATION NOT
REPORTED<OPTION>LUXEMBOURG<OPTION>MACAU<OPTION>MACEDONIA<OPTION>MADAGASCAR<OPTION>MALAWI<OPTION>MALAYSIA<OPTION>MALDIVES<OPTION>MALI<OPTION>MALTA<OPTION>MARSHALL
ISLANDS<OPTION>MARTINIQUE<OPTION>MAURITANIA<OPTION>MAURITIUS<OPTION>MAYOTTE<OPTION>MEXICO<OPTION>MICRONESIA<OPTION>MOLDOVA,
REPUBLIC
OF<OPTION>MONACO<OPTION>MONGOLIA<OPTION>MONTSERRAT<OPTION>MOROCCO<OPTION>MOZAMBIQUE<OPTION>MYANMAR<OPTION>NAMIBIA<OPTION>NAURU<OPTION>NEPAL<OPTION>NETHERLANDS<OPTION>NETHERLANDS
ANTILLES<OPTION>NEW CALEDONIA<OPTION>NEW
ZEALAND<OPTION>NICARAGUA<OPTION>NIGER<OPTION>NIGERIA<OPTION>NIUE<OPTION>NORFOLK
ISLAND<OPTION>NORTHERN MARIANA ISLANDS<OPTION>NORWAY<OPTION>Not
Available<OPTION>OMAN<OPTION>PAKISTAN<OPTION>PALAU<OPTION>PANAMA<OPTION>PAPUA
NEW
GUINEA<OPTION>PARAGUAY<OPTION>PERU<OPTION>PHILIPPINES<OPTION>PITCAIRN<OPTION>POLAND<OPTION>PORTUGAL<OPTION>PUERTO
RICO<OPTION>QATAR<OPTION>REUNION<OPTION>ROMANIA<OPTION>RUSSIAN
FEDERATION<OPTION>RWANDA<OPTION>SAINT KITTS AND NEVIS<OPTION>SAINT
LUCIA<OPTION>SAINT VINCENT<OPTION>SAMOA<OPTION>SAN MARINO<OPTION>SAO TOME
AND PRINCIPE<OPTION>SAUDI
ARABIA<OPTION>SENEGAL<OPTION>SEYCHELLES<OPTION>SIERRA
LEONE<OPTION>SINGAPORE<OPTION>SLOVAKIA (Slovak
Republic)<OPTION>SLOVENIA<OPTION>SOLOMON ISLANDS<OPTION>SOMALIA<OPTION>SOUTH
AFRICA<OPTION>SOUTH GEORGIA <OPTION>SPAIN<OPTION>SRI LANKA<OPTION>ST.
HELENA<OPTION>ST. PIERRE AND
MIQUELON<OPTION>SUDAN<OPTION>SURINAME<OPTION>SWAZILAND<OPTION>SWEDEN<OPTION>SWITZERLAND<OPTION>SYRIAN
ARAB REPUBLIC<OPTION>TAIWAN, PROVINCE OF CHINA<OPTION>TAJIKISTAN<OPTION>TANZANIA,
UNITED REPUBLIC
OF<OPTION>THAILAND<OPTION>TOGO<OPTION>TOKELAU<OPTION>TONGA<OPTION>TRINIDAD
AND TOBAGO<OPTION>TUNISIA<OPTION>TURKEY<OPTION>TURKMENISTAN<OPTION>TURKS AND
CAICOS ISLANDS<OPTION>TUVALU<OPTION>UGANDA<OPTION>UKRAINE<OPTION>UNITED ARAB
EMIRATES<OPTION>UNITED KINGDOM<OPTION>UNITED STATES<OPTION>UNITED STATES
MINOR<OPTION>UNKNOWN
LOCATION<OPTION>URUGUAY<OPTION>UZBEKISTAN<OPTION>VANUATU<OPTION>VATICAN CITY
STATE (HOLY SEE)<OPTION>VENEZUELA<OPTION>VIET NAM<OPTION>VIRGIN ISLANDS
(BRITISH)<OPTION>VIRGIN ISLANDS (U.S.)<OPTION>WALLIS AND FUTUNA
ISLANDS<OPTION>WESTERN
SAHARA<OPTION>YEMEN<OPTION>ZAMBIA<OPTION>ZIMBABWE</SELECT></td></tr><tr><td>Message:
</td>
<td><textarea name="order_message" rows="10" cols="40">
</textarea></td></tr>
<tr><td></td><td>
<INPUT TYPE=SUBMIT VALUE="Buy Now">
</FORM>
<? include("copyright.php");?>
</DIV>
</tr>
</table>
</td>
</tr>
</table>
</font>
</body>
</html>
--end--
here is file 2: resultsubmit.php
<? include("header.php");?>
<table width="612" border="0">
<tr>
<td width="270" valign="top"><?
include("menu.php");?></td>
<td width="344" valign="top">
<DIV ALIGN=JUSTIFY>
<? include("ads.php");?>
<?php
$to = 'email@domain.com';
$from = 'local@localhost';
//Check if we have something POSTed by the form.
if (isset($HTTP_POST_VARS)){
//Start with an empty body for the mail message
$body = '';
//Iterate through all the POSTed variables, and add them to the message body.
while (list($key, $value) = each($HTTP_POST_VARS)){
$body .= $key . ' = ' . $value . "
";
}
//Build up some nice From/Reply Headers
$headers = "From: $from";
//Mail the message out.
//Requires setting php3.ini sendmail path as per instructions
$success = mail($to, "Posted " . date("m/d/Y"), $body, $headers);
//Always check return codes from functions.
if ($success){
echo "<B><CENTER>Please wait... Your request is being
processed...!</CENTER></B>";
}
else{
echo "<CENTER><B>Internal Error</B>: Your input was
unprocessed.<BR>Contact $from</CENTER>";
}
}
?>
</DIV>
</td>
</tr>
</table>
</body>
</html>
--end--
FYI I have changed some email settings and configuration files for security reasons. But as you
can see results are pushed to the second file than emailed off, no need for a database or anything.
So you should be able to test very easily.
If anyone can help with suggestions or even do the code it would be mostly appreciated, can pay
since it's urgent.
Thanks for your time!
J