You are in serious need of some regex here...google email regex and you will
have enough results to get you what you want.
Postal Code (assume 2 letters 4 dgits in that order
if (ereg("^[A-Z]{2}{0-9]{4}$",$_POST['postal'])){
...
As for pasting it back to the form, I would suggest you have the form as a
function and the processing code as a function, then you can pass the post
arrays back and forth and pass the error handling along with it
Bastien
From: JeRRy <jusa_98@xxxxxxxxx>
To: php-db@xxxxxxxxxxxxx
Subject: php/sendmail help!
Date: Tue, 7 Feb 2006 13:22:53 +1100 (EST)
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@xxxxxxxxxx';
$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
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php