Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Yhteydenottolomake?

Sivun loppuun

Lamppu [10.10.2009 23:00:53]

#

Miten koodattaisiin toimiva yhteydenotto lomake?

Pitää olla:

-Nimi
-E-Mail
-Sellanen alasvetoloota (en tiedä oikeaa nimeä)
-Iso boxi
-Lähettää se ilman mitään lisäohjelmii, eli varmaan php:lla


Ideoita? Keksijä saa mainostusta tältä sivustolta mihin tämä tulee..

Lebe80 [11.10.2009 01:10:36]

#

Oujeah, oonkin aina halunnut saada nimeni random -nettisivulle...


https://www.ohjelmointiputka.net/koodivinkit/24578-php-palautelomake

https://www.ohjelmointiputka.net/koodivinkit/23780-php-palautelomake-lähettää-kaikki-muuttujat

Daunlouded [11.10.2009 17:10:46]

#

Alasvetoloota on kenties:

<select>
  <option>Vaihtoehto 1</option>
  <option>Vaihtoehto 2</option>
  <option>Vaihtoehto 3</option>
</select>

Muutakaan ei juuri nyt tule mieleen.

Edit: tuohon siis viskaat sopivat nimet ja lisäät tarpeentullen lisää vaihtoehtoja, niin hyvä tulee.

Grez [11.10.2009 17:48:18]

#

Alasvetoloota se olisi jos <select size="1"> ...

Macro [11.10.2009 17:53:24]

#

Ei selectille tarvitse antaa size-arvoa, ainakin kaikki normaalit selaimet tunnistavat sen alasvetolaatikkona oletuksellisesti, jollei sizeä ole määritelty kahteen tai suurempaan. Selectillä pitää olla myös name-arvo, jotta sitä voidaan hakea $_POST/$_GET-taulukosta. Samaten option-arvolla pitää olla value-arvo. Siitä saadaan sen valinnan todellinen arvo, mutta tuo option-tagien välissä oleva teksti on se, joka näytetään käyttäjille.

jo123 [11.10.2009 17:54:29]

#

Grez kirjoitti:

Alasvetoloota se olisi jos <select size="1"> ...

Täh? Size-atribuutti ei ole ymmärtääkseni pakollinen. Tulee siitä alasvetoloota ihan oletuksenakin.

Edit: Ai macro ehti ensin. >:(

Grez [11.10.2009 18:45:02]

#

Ok, hyvä kun korjasitte. Lähinnä tarkoitin, että select on siitä jännä että sillä on kaksi hyvin poikkeavaa ulkomuotoa, joista alasvetolaatikko jos koko on 1 ja muuten listaboksi. En sitten muistanut, että oletus oli se 1 :D

Macro [11.10.2009 19:00:25]

#

Tässä sinulle, Lamppu, se sinun formisi. Minun nimeäni ei tarvitse minnekkään lisätä, saat sanoa ihan omaksesi.

<form action="kasittele.php" method="POST">
	<p>
		<label for="nimi"><b>Nimesi:</b></label><br>
		<input type="text" name="nimi" id="nimi">
	</p>
	<p>
		<label for="email"><b>Sähköpostiosoitteesi:</b></label><br>
		<input type="text" name="email" id="email">
	</p>
	<p>
		<select name="alasvetolaatikko">
			<option value="arvo kohdalle 1">Eka</option>
			<option value="arvo kohdalle 2">Toka</option>
			<option value="arvo kohdalle 3">Kolmas</option>
			<option value="arvo kohdalle 4">Neljäs</option>
		</select>
	</p>
	<p>
		<label for="kritiikki"><b>Kommenttisi:</b></label><br>
		<textarea name="kritiikki" cols="50" rows="5" id="kritiikki"></textarea>
	</p>
	<p>
		<input type="submit" value="Lähetä"> <input type="reset" value="Tyhjennä">
	</p>
</form>
// kasittele.php
<?php
//Sinun sähköpostiosoitteesi
$email = "mina@hotmail.com";

//Tähän muuttujaan asetetaan palaute
$palaute = "";
//Tämä täytetään jos tulee virhe
$virhe = false;

foreach($_POST as $nimi => $arvo) {
	//Jos arvo on tyhjä
	if(empty($arvo)) {
		echo ucfirst($nimi) . " jäi täyttämättä!<br>";
		$virhe = true;
	}

	if(!$virhe) $palaute .= "$nimi: $arvo\n\n";
}

if(!$virhe && !mail($email, "Palautetta kotisivuilta", $palaute)) {
	echo "Viestin lähetys epäonnistui!";
	die;
}

echo "Viestin lähetys onnistui!";
?>

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta