Just nu i M3-nätverket
Gå till innehåll

Selection i php - plus skicka vald option


Theo82

Rekommendera Poster

Hej!

 

Jag har ett formulär jag ska skicka per mail. Formuläret valideras först genom JS och sedan PHP. Har löst JS-sidan med lite hjälp här från forumet och själv fixat allt annat i formuläret i PHP - dock inte select som vill krångla för mig...

 

HTML:

<select id="gender" name="gender">
<option selected="selected">----</option>
<option value="female">Kvinna</option>
<option value="male">Man</option>
</select>

 

I PHP har jag testat allt möjligt för att kontrollera att åtminstone en är vald, bland annat:

if(!empty($_POST['gender'])) {
	$gender = ($_POST['gender']);
}

	else {
	$err1 .= 'Välj kön.'. "\n";
	} 
Säkert ett enkelt svar på detta, men jag hittar inte dit. Tips på vägen? Och hur gör jag för att skicka med vald option som en variabel? Tack så mycket på förhand!
Länk till kommentar
Dela på andra webbplatser

Är formuläret korrekt i övrigt, med form-tagg och action till sidan som datan skickas till samt method="POST" ?

 

För valideringen - se till att du har value="" för det första valet. Sedan kontrollerar du om värdet är tomt

if(!$_POST['gender'] == "" ){
Länk till kommentar
Dela på andra webbplatser

Hej, ja formuläret är korrekt i övrigt, skickas med POST också. Har testat isset (var det första jag gjorde) och även att kontrollera ifall $_POST['gender'] == "none" (d v s satte värdet till förvald option till "none" i html). 

Länk till kommentar
Dela på andra webbplatser

Nej, ursäkta. Helt plötsligt fungerar det... med isset... (pinsamt, förlåt). Hade slarvat och fått med ( ! ) framför denna tidigare mest troligt. Då är den biten löst. Hur tar jag ut vald option och skickar den med formuläret?

 

Ber så hemskt mkt om ursäkt för att jag ber om hjälp när jag själv slarvat.

Länk till kommentar
Dela på andra webbplatser

<form method="post" action="confirm.php" accept-charset="UTF-8" >

<label>Namn:<br />
<input type="text" id="fname" name="fname" /></label><br />

<label>E-mail:<br />
<input type="text"id="e_mail" name="e_mail" /></label>

<label>Kön:<br />
<select id="gender" name="gender">
	<option selected="selected">----</option>
	<option value="female">Kvinna</option>
	<option value="male">Man</option>
</select></label><br />

<input type="submit" name="submit" value="Skicka" />
<input type="reset" value="Återställ" />
</form>

och PHP:

<?php
if(isset($_POST['submit'])){

if(isset($_POST['fname']) && !empty($_POST['fname'])) {
	$fname = ($_POST['fname']);
}
	else {
	$err1 = 'Fyll i ditt namn.';
	}

if(isset($_POST['e_mail']) && !empty($_POST['e_mail']) && (!filter_var($_POST['e_mail'], FILTER_VALIDATE_EMAIL) === false )          ) {
	$email = ($_POST['e_mail']);
}

	else {
	$err1 .= 'Fyll i giltig e-mail adress.';
	}	

if(isset($_POST['gender'])) {
	$gender = ($_POST['gender']);
}

	else {
	$err1 .= 'Välj kön.' ;
	}	

}


Länk till kommentar
Dela på andra webbplatser

<select id="gender" name="gender">
	<option selected="selected" value="">----</option>
	<option value="female">Kvinna</option>
	<option value="male">Man</option>
</select>
if(!$_POST['gender']=="") {
	$gender = ($_POST['gender']);
}

else {
	$err1 .= 'Välj kön.' ;
}

Nu borde $gender bara populerad med valt värde.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...