Archief - xHTML: formulier (complicated)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

KoenDK

Legacy Member
Hello,

ik zou graag het volgende bekomen via een formulier, maar het lukt me niet echt



PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Test
</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<form>
<input type="checkbox" name="Check01" />Check01<br />
<input type="checkbox" name="Check01" />Check02<br />
<input type="radio" name = "Unrestricted" id="Radio1" value="Unrestricted" />Unrestricted
<input type="radio" name = "Restricted" id="Radio2" value="Restricted" />Restricted
<br />
<input type="button" name="Button1" value="Sent" />
</form>
</body>
</html>

zoals u ziet
=> 2 checkboxen (men kan beide kiezen)
=> 2 radio buttons (men moet 1 van beide kiezen)
=> 1 sent button


Wat zou er nu moeten gebeuren bij die sent button?

1. De standaard email client zou moeten geopend worden met als subject de gekozen radio button.


2. Op de één of andere wijze zit er achter iedere checkbox x-aantal mailaddressen, en bij selectie moeten deze allemaal in BCC staan bij die geopende mail.



Indien dit niet mogelijk is via mail client die opent, tsjah, dan moet het maar direct achterliggend met de melding 'mail is sent'


euhm
:oink: :oink: :oink:

RpR

Legacy Member
Met php alleen of met javascript maar is af te raden.
En met php kan je dit beter doen met de php send.

KoenDK

Legacy Member
oke maar dan heb ik toch nog jullie hulp nodig hoor :oink:


Test.html

PHP:
<head>
<title>Test
</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<form method="POST" action="mailformsend.php" name="form1">
<input type="checkbox" name="Check01" />Check01<br />
<input type="checkbox" name="Check01" />Check02<br />
<input type="radio" name = "Unrestricted" id="Radio1" value="Unrestricted" />Unrestricted
<input type="radio" name = "Restricted" id="Radio2" value="Restricted" />Restricted
<br />
<input type="button" name="Button1" value="Sent" />
</form>
</body>
</html>

mailformsend.php

PHP:
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' )

$sendto = ???  (indien checkbox selected, lijst met mail adressen in bcc zetten :oink: )
$subject = ??? (indien radiobox value = 'yes' => die waarde :oink: )

mail($sendto, $subject);
?>



:help: :help:

KoenDK

Legacy Member
Lashknife zei:
toemdidoem, google is your friend :)

onsubmit handle erin steken zodat ge zelf uw mailto url kunt zetten in de action ( action = "mailto:........." + parameters + whatever; )

http://jdstiles.com/java/mailall.html


euhm
dan is dit toch niet variabel? :x

indien checkbox1 => sent to jan en piet
indien checkbox2 => sent to xavier en jean
indien checkbox1 en checkbox2 => sent to jan en piet en xavier en jean

en die lijsten zouden ook nog moeten aangepast worden

dJeez

Legacy Member
Misschien de PHP reference eens bekijken? Sjiez, niet echt verlegen om de luiaard uit te hangen precies.

Maw, een welgemeende RTFM

Lashknife

Legacy Member
KoenDK zei:
euhm
dan is dit toch niet variabel? :x

indien checkbox1 => sent to jan en piet
indien checkbox2 => sent to xavier en jean
indien checkbox1 en checkbox2 => sent to jan en piet en xavier en jean

en die lijsten zouden ook nog moeten aangepast worden
euh, jawel, gij stelt zelf de action string samen ahv de selecties/checks in uw form bij submit en dan kent ge die string toe aan de action property van uw form en submit ge hem for real waardoor die volle mailstring uitgevoerd wordt en dat in de mailclient bij die users staat.

Hoe dan ook, php mail is geprefereerd omdat niet iedereen een mail client gebruikt (hotmail users bv) en dan sta je daar met je form voor een programma dat niet actief is en geen account heeft om te sturen terwijl via php mail de server jouw mail verstuurt en je zeker bent dat dit altijd werkt.

KoenDK

Legacy Member
hmm
sorry voor de grote nOOb question maar ik geraak er toch niet uit hoor :sad:


Test.html :

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Test
</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>

<form method="POST" action="mailformsend.php" name="form1">

<select name="select_restr">
<option>Unrestricted</option>
<option>Restricted</option>
</select>

<br /><br />

<input type="button" name="Button1" value="Sent" />

</form>

</body>
</html>


en dan mailformsend.php :

PHP:
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' )

	$sendto = '[email protected]' ;
	$select_restr = $_POST['select_restr'];

   mail($sendto, $select_restr, "Test");
?>


eigenlijk zou dit dus een mail moeten sturen naar $sendto, en met als subject $select_restr, en met als inhoud Test
maar helaas gebeurt er niets :s

infeKted

Legacy Member
PHP:
<?php


$headers .= "From: $name <$email>\n";  
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n"; 
$recipient = "email hier";
$subject = "onderwerp "; 

$msg = wordwrap( $msg, 1024 );

mail($recipient, $subject, stripslashes($variabele naam van uw inhoud), $headers); 


   header("location: bla.htm");
?>

Lashknife

Legacy Member
<input type="button" -> knopke waar ge met onclick ofzoiets een action aan moet hangen

als je een form wil submitten moet je - duh ;) - <input type="submit" gebruiken

btw, t'is "send", sent = verleden tijd

KoenDK

Legacy Member
nog een poging !! :$
please correct me if I'm wrong

Test.html
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Test
</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>

<form method="POST" action="mailformsend.php" name="form1">

<input type="checkbox" name="Check01" />Check01<br />
<input type="checkbox" name="Check02" />Check02<br /><br />

<select name="select_restr">
<option>Unrestricted</option>
<option>Restricted</option>
</select>

<br /><br />

<input type="submit" name="Button1" value="Send" />

</form>

</body>
</html>



mailformsend.php
PHP:
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' )

	$sendto = '[email protected]' ;
	$select_restr = $_POST['select_restr'];
	$headers .= 'From: Franky <[email protected]>' . "\r\n";
	$headers .= 'Content-Type: text/plain; charset=iso-8859-1' . "\n";

	if($_POST['Check01'] == "on")
		{$headers .=  'Bcc: [email protected]' . "\r\n";}
			elseif ($_POST['Check02'] == "on")
			{$headers .=  'Bcc: [email protected]' . "\r\n";
			}
				elseif ($_POST['Check01'] == "on") && ($_POST['Check02'] == "on")
					{$headers .=  'Bcc: [email protected]' . "\r\n";
					}


   mail($sendto, $select_restr, "Test", $headers);
?>

Radiance

Legacy Member
Bekijk uw code misschien eens zelf, als je het hier gaat blijven posten tot alle fouten eruit zijn ...
1. je mist {} haken
2. je mist ergens () haken
3. als een IF waar is wordt niet meer verder gekeken naar verdere ELSE IF's, die laatste optie kan dus nooit "waar" zijn, je gaat hier een volgorde moeten aanpassen of het anders oplossen.

Voor fouten 1 & 2 : zorg voor deftige indenting van uw code en je ziet zo'n fouten direct, een editor met code coloring & aanduiding van haken etc. kan zeker ook helpen.

KoenDK

Legacy Member
dit zou het dus moeten zijn maw



PHP:
<?php
if($_SERVER["REQUEST_METHOD"] == 'POST' && isset($_POST["select_restr"]) && isset($_POST["Check01"]) || isset($_POST["Check02"]))
	{
	$sendto = '[email protected]' ;
	$select_restr = $_POST['select_restr'];
	$headers .= 'From: Franky <[email protected]>' . "\r\n";
	$headers .= 'Content-Type: text/plain; charset=iso-8859-1' . "\n";

	if ($_POST['Check01'] == "on" && $_POST['Check02'] == "on")
		{$headers .=  'Bcc: [email protected]' . "\r\n";}
			elseif ($_POST['Check02'] == "on")
			{$headers .=  'Bcc: [email protected]' . "\r\n";
			}
				elseif ($_POST['Check01'] == "on")
					{$headers .=  'Bcc: [email protected]' . "\r\n";
					}


   mail($sendto, $select_restr, "Test", $headers);
   }
else
   {
   		echo "Gelieve alle velden in te vullen a.u.b.\n<br>";
   }
?>

KoenDK

Legacy Member
hmmm
misschien moet ik hiervoor een nieuw topic openen, not sure :oink:

maar ik zit momenteel met 5variabelen die email adressen KUNNEN bevatten
in de mail functie staat mijn laatste argument dus mooi gedefinieerd als $headers
en ik wou dit dus op deze manier oplossen :


PHP:
$headers = $headers1 . "," . 
if($_POST["Check03"] == "on"){$headers2} . "," . 
if($_POST["Check04"] == "on"){$headers3} . "," . 
if($_POST["Check05"] == "on"){$headers4} . "," . 
if($_POST["Check06"] == "on"){$headers5};

en er moet toch iets mis zijn met die 'if' syntax
iemand een idee?


(zoals je kan zien, zal $headers gelijk zijn aan de som van de andere variabelen met een komma ertussen voor opbouw emailadreslijst)



:help:

dJeez

Legacy Member
OMFG, leer eerst eens de basis van PHP (en programmeren in het algemeen) aub.

KoenDK

Legacy Member
dJeez zei:
OMFG, leer eerst eens de basis van PHP (en programmeren in het algemeen) aub.

via zulke antwoorden zal dat moeilijk gaan hé man !

als het dan toch zo 'basic' en gemakkelijk is voor u, waarom help je mij dan niet ?



hoe leer ik het best php?
ik krijg altyd een antwoord à la
learn the basics en leer via scripts te onderzoeken / testen / maken

vandaar dus deze vraag hé man



ma bon, iemand anders dan please?

dJeez

Legacy Member
KoenDK zei:
als het dan toch zo 'basic' en gemakkelijk is voor u, waarom help je mij dan niet ?
Omdat het gewoon om toepassen van de correcte syntax gaat. Dat is pure basiskennis, als je die niet hebt, sorry, maar dan ga je die toch eerst moeten leren. Stemt het feit dat er blijkbaar niemand is die hier uw zoveelste vraag over dergelijke basiszaken wil beantwoorden (en gelijk hebben ze imho) je dan niet tot nadenken?

En als je echt PHP wil leren, neem dan een online cursus door, er zijn er met hopen te vinden (de sticky al eens bekeken? - ik zou zo vermoeden van niet).

Het volstaat trouwens ook al om even naar de PHP manual te kijken, om na te gaan wat vb. de correcte syntax van de if-statement is, maar zelfs dat doe je dus niet.

KoenDK

Legacy Member
wat wil je nu eigenlijk zeggen?
dat een if statement niet bestaat zonder een else statement :oink:


indien zo : dan heb ik nog problemen hé man
wat moet ik in godsnaam in mijn else statement gaan zetten?
$headers2 = ""

??????????

dan gaat mijn script niet kloppen hé
want dan krijg ik emailadreslijst à la

[email protected] , , [email protected] , , ,


klopt niet hé :oink:


en dan zat ik nog met een probleem, wat als $headers1 niets bevat
dan begint mijn emailadreslijst met een komma :s




maw
volledig mijn script is imho volledig fout
dus had ik graag wat uitleg verkregen ivm hoe ik het moet aanpakken
(heeft dus eigenlijk al niets meer te maken met een basis php if_then_else functie, maar meer met opbouw script)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan