Hjælp til at få disse 2 scripts til at arbejde sammen
Håber at det er det rette sted jeg er kommet til!Jeg har en side hvor man kan tilmelde sig et nyhedsbrev. Vha. PHP tilmelder man sig og scriptet og formularen ser således ud:
<?
$xemail = str_replace("@", "=", $email);
mail("mailinglist-subscribe-$xemail@etheg.dk", "","","From: $email <$email>")
?>
------
<form method = "post" action="<? echo $_SERVER["PHP_SELF"];?>">
<table width="75%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200"><input name="email" type="text" class="textfelt" id="email" size="40"></td>
<td width="10"><img src="images/tom.gif" width="20" height="10"></td>
<td width="105"><input name="Submit" type="submit" class="knap" value="Tilmeld nyhedsbrev"></td>
</tr>
</table>
</form>
Hvorefter der kommer denne:
<?
if(isset($_POST["Submit"])) {
echo "<font color=#ff0000><strong>Adressen $email er nu tilmeldt ETHEG's Nyhedsbrev</strong></font>"; }
?>
Det virker fint men jeg vil gerne have en eller anden form for validering af email-adressen så feltet så nogenlunde er korrekt udfyldt. Så jeg fandt dette java script:
<script type="text/javascript">
function validering()
{
error = 0;
document.forms[0].email.style.borderColor = "#1088ff";
placering=0;
tekst=(document.forms[0].email.value).toLowerCase();
placering=tekst.indexOf("@");
if(tekst ==""){
document.forms[0].email.style.borderColor = "red";
alert ("Der skal stå en email adresse i tekst feltet");
document.forms[0].email.focus();
error = 1;
}
else{
tegn=tekst.indexOf(" ");
if(tegn!=-1){
document.forms[0].email.style.borderColor = "red";
alert ("Der må ikke være mellemrum i adressen");
document.forms[0].email.focus();
error = 1;
}
else{
if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 || tekst.indexOf("å")!=-1 ||
tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 || tekst.indexOf("Å")!=-1 ||
tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){
document.forms[0].email.style.borderColor = "red";
alert ("Der er ulovlige tegn i adressen. Må ikke indeholde: æ ø å Æ Ø Å , ;");
document.forms[0].email.focus();
error = 1;
}
else{
if (placering<1 || tekst.length<=(placering+1)){
document.forms[0].email.style.borderColor = "red";
alert ("Email adressen er forkert - forsøg igen");
document.forms[0].email.focus();
error = 1;
}
}
}
}
if(error == 0)
document.forms[0].submit();
}
</script>
...og i formularen skal der stå 'onsubmit="validering();return false;"'
Men dette gør at linjen
<?
if(isset($_POST["Submit"])) {
echo "<font color=#ff0000><strong>Adressen $email er nu tilmeldt ETHEG's Nyhedsbrev</strong></font>"; }
?>
ikke virker mere!
Hvordan kan jeg få disse to scripts til at arbejde sammen? Eller skal jeg gøre det på en helt anden måde??
/ Carl
