Gå til innhold

Tvungen utfylling bare i noen felt i skjema..


Anbefalte innlegg

("Det er en systemfeil i påmeldingsskjemaet deres på

konferansesiden deres. Hver gang man bruker linjeskift, så sendes

skjemaet inn til dere - uten at det er ferdig utfylt - Har skjedd meg

to ganger. Det burde vel strengt tatt ikke gå av sted før man velger

<send påmelding> nederst i skjemaet?")

 

som M4rTiN sier kan jeg legge inn noen felt som MÅ være utfylt. noen som kan hjelpe meg med dette??

 

her er prosess.php

Skjult tekst: (Marker innholdet i feltet for å se teksten):

<?php

$name = $_POST['navn'];

$adresse = $_POST['adresse'];

$postnr = $_POST['postnr'];

$telefon = $_POST['telefon'];

$email = $_POST['email'];

$fakturaadr = $_POST['fakturaadr'];

$rom = $_POST['rom'];

$vier = $_POST['vier'];

$vivilmote = $_POST['vivilmote'];

$subject = $_POST['subject'];

$tekst = $_POST['tekst'];

 

if (eregi("\r",$subject) || eregi("\n",$subject)){

die ("Linefeeds not allowed");

}

if (eregi("\r",$navn) || eregi("\n",$navn)){

die ("Linefeeds not allowed");

}

if (eregi("\r",$email) || eregi("\n",$email)){

die ("Linefeeds not allowed");

}

 

mail("[email protected]",

$subject,

"Navn:$name\n.

Adresse:$adresse\n.

Postnr/sted:$postnr\n.

Telefon:$telefon\n.

Din epost:$email\n.

Fakturaadresse:$fakturaadr\n.

Rom:$rom\n.

Vi er:$vier\n.

Vi vil mote:$vivilmote\n.

Andre opplysninger:$tekst\n",

 

"From: $navn <$email>"

);

 

echo '<script type="text/javascript">window.location="./index.php?q=takk";</script>';

?>

 

og skjema.php

Skjult tekst: (Marker innholdet i feltet for å se teksten):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>MAT OG REISELIV 2006</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">

<!--

body,td,th {

font-family: Verdana, Arial, Helvetica, sans-serif;

color: #000000;

font-size: 11px;

}

a:link {

text-decoration: none;

color: #54A51A;

}

a:visited {

text-decoration: none;

color: #003399;

}

a:hover {

text-decoration: none;

color: #F5730D;

}

a:active {

text-decoration: none;

color: #339933;

}

a {

font-weight: bold;

}

.style6 {font-size: 10px}

.style7 {

font-family: Verdana;

font-size: 10px;

}

.style9 {font-family: Verdana; font-size: 10px; }

.style10 {

font-family: Verdana;

font-size: 10px;

}

-->

</style>

</head>

 

<body onload="Javascript: window.resizeTo(640, 700);">

 

<form action="process.php" method="post">

<input type="hidden" name="subject" value="MELDING TIL KONFERANSEN MAT OG REISELIV 2006">

<table width="582" border="3" align="center" cellpadding="2" cellspacing="2" bordercolor="#54A51A">

<tr>

<td height="40" align="center" colspan="3">

<font color="#F5730D" size="3" face="Verdana, Arial, Helvetica, sans-serif">

PÅMELDING TIL KONFERANSEN MAT OG REISELIV 2006

</font>

</td>

</tr>

<tr bgcolor="#E8E8E8">

<td width="156" height="30">Navn:</td>

<td height="30" colspan="2"><input type="text" name="navn" value="" size="50" maxlength="30"></td>

</tr>

<tr bgcolor="#E8E8E8">

<td height="30">Adresse:</td>

<td height="30" colspan="2"><input type="text" name="adresse" size="50" maxlength="40"></td>

</tr>

<tr bgcolor="#E8E8E8">

<td height="30">Postnr/sted:</td>

<td height="30" colspan="2"><input type="text" name="postnr" value="" size="50" maxlength="30"></td>

</tr>

<tr bgcolor="#E8E8E8">

<td height="30">Telefon:</td>

<td height="30" colspan="2"><input type="text" name="telefon" value="" size="50" maxlength="12"></td>

</tr>

<tr bgcolor="#E8E8E8">

<td height="30">Din epost:</td>

<td height="30" colspan="2"><input type="text" name="email" value="" size="50" maxlength="30"></td>

</tr>

<tr bgcolor="#E8E8E8">

<td height="30" bgcolor="#E8E8E8">Fakturaadresse:</font></td>

<td height="30" colspan="2"><input type="text" name="fakturaadr" size="50" maxlength="40"></td>

</tr>

<tr bgcolor="#E8E8E8">

<td height="30" colspan="3" bgcolor="#E8E8E8">Ønsker enkeltrom eller dobbeltrom:</font><input type="text" name="rom" size="20" maxlength="40">

</td>

</tr>

<tr bgcolor="#FF99CC">

<td height="30" colspan="3" align="right">Påmelding speed-date</font>&nbsp

<input type="checkbox" name="speeddate" value="Ja">

</td>

</tr>

<tr bgcolor="#FF99CC">

<td height="30" colspan="3" align="right">Vi er (reiselivsbedrift, produsent, organisasjon):

<input type="text" name="vier" value="" size="20" maxlength="30">

</td>

</tr>

<tr align="right" bgcolor="#FF99CC">

<td height="30" colspan="3">Vi vil møte (reiselivsbedrifter, produsenter, organisasjoner):</font><input type="text" name="vivilmote" value="" size="20" maxlength="30">

</td>

</tr>

<tr bgcolor="#E8E8E8">

<td>Andre opplysninger:</font></td>

<td colspan="2"><textarea name="tekst" cols="38" rows="10"></textarea></td>

</tr>

<tr>

<td></td>

<td colspan="2"><input type="reset" name="reset" value="Töm skjema"> 

<input type="submit" name="Submit" value="Send påmelding">

</tr>

</table>

</form>

</body>

</html>

Endret av anneb
Lenke til kommentar
Videoannonse
Annonse

Enterknappen fungerer som "Submit" når man skriver noe i et <input>. Så det er helt normalt at man sender en uferdig påmelding når man bruker linjeskift. Eneste plassen man kan bruke linjeskift i et skjerma er i <textarea>.

 

Du sjekker jo heller ikke om noen felt er tomme. Sett noen felt som er påtvunget, og sjekk om disse er tomme før mailen sendes.

Endret av M4rTiN
Lenke til kommentar

bruk javascript,

 

<form onSubmit="return force(this)">
<input type="text" name="tvang" id="tvang" />
<input type="submit" value="send" />
</form>

 

function force(form) {
if(form.tvang.value==""){
 alert("Feltet TVANG må fylles ut!");
 form.tvang.focus();
 return false;
}
}

 

PS: er ikke 100% sikker på om "focus" funksjonen er brukt riktig her da dette er skrevet on the fly, men tanken er ihvertfall å levere en feilmelding og sende brukeren til feltet som må fylles ut før han kan sende skjemaet...

Lenke til kommentar

Greit nok med JS, men en kan ikke alltid forvente at folk har JS aktivert. Her er en metode jeg bruker. Merk den ikke er sikret, så endre på den til å passe hva du skal.

 

$required = array("name", "phone", "message", "velg");
$count_required = count($required);
$fieldsWithError = array();

function addToError($in){
global $fieldsWithError;
if(empty($fieldsWithError) || !in_array($in, $fieldsWithError)){ //Check if the error exist in the error-list.
 $fieldsWithError[] = $in; //Add to the error-list
   }
}


//Checking for required fields
for ($i = '0'; $i < $count_required; $i++){
if (empty($_POST[$required[$i]])){
 addToError($required[$i]);
}
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...