If RadioButton checked -> echo???
Hallo allemaal,
Ik wil graag in mijn contactformulier mensen de keuze geven of ze een offerte aanvragen of niet. Als ze via radiobuttons zeggen dat ze dat wel willen wil ik dat er via echo meerdere velden in het contactformulier zichtbaar worden.
Dit is wat ik heb:
Een deel van de HTML:
De PHP:
Wie kan me helpen, want ik weet niet hoe het anders moet...
Ik wil graag in mijn contactformulier mensen de keuze geven of ze een offerte aanvragen of niet. Als ze via radiobuttons zeggen dat ze dat wel willen wil ik dat er via echo meerdere velden in het contactformulier zichtbaar worden.
Dit is wat ik heb:
Een deel van de HTML:
Code (php)
1
2
3
2
3
<p>Wilt u een offerte aanvragen?:
<label><input name="offerte" type="radio" value="ja" />Ja</label>
<label><input name="offerte" type="radio" checked="checked" value="nee" />Nee</label>
<label><input name="offerte" type="radio" value="ja" />Ja</label>
<label><input name="offerte" type="radio" checked="checked" value="nee" />Nee</label>
De PHP:
Code (php)
Wie kan me helpen, want ik weet niet hoe het anders moet...
Gesponsorde koppelingen:
Hebben ze php wat veiliger gemaakt door de superglobals en dan doe jij dat weer teniet door extract($_POST) te gebruiken. Niet echt slim lijkt mij.
Hoe kan ik dat dan beter doen? Heb je een link of een voorbeeld?
Geen extract() gebruiken. Gewoon weglaten die regel. En dan verder niet $offerte maar $_POST['offerte'] gebruiken (uiteraard geldt dit voor alle vars uit het formulier).
OK, heel erg bedankt daarvoor! En de reden daarvoor is dus dat het veiliger is?
Weet je toevallig ook, hoe ik het moet doen met de radiobuttons?
M'n php is nu trouwens:
Weet je toevallig ook, hoe ik het moet doen met de radiobuttons?
M'n php is nu trouwens:
Code (php)
Gewijzigd op 09/07/2010 13:52:55 door Joeri van Spijk
Ik heb hier even zitten expirimenteren met extract() en ik kan vanuit een formulier mijn session veranderen. Lijkt mij een aardig lek. Dus géén extract() gebruiken.
In plaats van 20x hetzelfde te zeggen zou je je ook even in de vraag kunnen verdiepen en aangeven dat dit dmv javascript moet en niet dmv PHP.
Zoals je 't nu hebt moet je eerst posten voordat die andere velden zichtbaar worden. Je kan dit inderdaad doen met javascript hide/show.
Edit:
Code (php)
1
2
3
2
3
<input type="checkbox" onclick=" if (this.checked) { document.getElementById('invoerveld').style.display = 'inline'; document.getElementById('invoerveld').style.visibility = 'visible'; } else { document.getElementById('invoerveld').style.display = 'none'; document.getElementById('invoerveld').style.visibility = 'hidden'; }">Show Input
<input file="text" id="invoerveld" style="display:none">
<input file="text" id="invoerveld" style="display:none">
Gewijzigd op 09/07/2010 16:55:16 door Michael -
Ok, heel erg bedankt! Dan ga ik nu even kijken of ik het aan de praat kan krijgen...
Ik krijg het eerlijk gezegd nog steeds niet werkend.
Ik wil eigenlijk gewoon dat als ik een radiobutton selecteer op ja, dat er dan meteen daaronder nieuwe velden zichtbaar worden. Moet ik nu dan php combineren met Javascript of niet, want door SanThe Nvt snap ik er niets meer van!
Ik wil eigenlijk gewoon dat als ik een radiobutton selecteer op ja, dat er dan meteen daaronder nieuwe velden zichtbaar worden. Moet ik nu dan php combineren met Javascript of niet, want door SanThe Nvt snap ik er niets meer van!
Je moet de javascript optie en SanThe's oplossing niet door elkaar halen.
SanThe's oplossing kun je gebruiken, maar dan moet je eerst op de submit knop drukken en daarna komt er een veld bij. Mijn stukje javascript kun je d.m.v. het aanklikken van een checkbox (of je maakt er een radio van) gelijk een input veld te voorschijn halen.
SanThe's oplossing kun je gebruiken, maar dan moet je eerst op de submit knop drukken en daarna komt er een veld bij. Mijn stukje javascript kun je d.m.v. het aanklikken van een checkbox (of je maakt er een radio van) gelijk een input veld te voorschijn halen.
Gewijzigd op 09/07/2010 18:19:29 door Michael -
Dan wil ik die van jou hebben! Dus jouw stukje script moet ik gewoon tussen <script type "text/javascript></script> zetten?
Dus dit:
Dus dit:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<script type "text/javascript>
<input type="checkbox" onclick=" if (this.checked) {
document.getElementById('invoerveld').style.display = 'inline';
document.getElementById('invoerveld').style.visibility = 'visible'; } else {
document.getElementById('invoerveld').style.display = 'none';
document.getElementById('invoerveld').style.visibility = 'hidden'; }">Show Input
<input file="text" id="invoerveld" style="display:none">
</script>
<input type="checkbox" onclick=" if (this.checked) {
document.getElementById('invoerveld').style.display = 'inline';
document.getElementById('invoerveld').style.visibility = 'visible'; } else {
document.getElementById('invoerveld').style.display = 'none';
document.getElementById('invoerveld').style.visibility = 'hidden'; }">Show Input
<input file="text" id="invoerveld" style="display:none">
</script>
Joeri, nee die kun je gewoon op z'n plek zetten. Niet tussen <script>.
Ik verveel me dus heb nog wat gefabriceerd wat misschien beter past bij je wensen (met radio).
Ik verveel me dus heb nog wat gefabriceerd wat misschien beter past bij je wensen (met radio).
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html>
<head>
<script type="text/javascript">
<!--
function toggle()
{
if (offerte.checked)
{
document.getElementById('invoerveld').style.display = 'inline'; document.getElementById('invoerveld').style.visibility = 'visible';
}
else
{
document.getElementById('invoerveld').style.display = 'none'; document.getElementById('invoerveld').style.visibility = 'hidden';
}
}
-->
</script>
</head>
<body>
<?php
if(isset($_POST['offerte']) && $_POST['offerte'] == 'nee')
echo 'Dan niet ';
elseif(isset($_POST['offerte']) && $_POST['offerte'] == 'ja')
echo 'Goed zo ';
if(isset($_POST['invoerveld']))
echo $_POST['invoerveld'];
?>
<form method="post" action="">
<input type="radio" name="offerte" value="ja" id="offerte" onclick="toggle();"/> Ja
<input type="radio" name="offerte" value="nee" id="offerte" onclick="toggle();" checked="checked"/> Nee
<input file="text" name="invoerveld" id="invoerveld" style="display:none"/><br/>
<input type="submit"/>
</form>
</body>
</html>
<head>
<script type="text/javascript">
<!--
function toggle()
{
if (offerte.checked)
{
document.getElementById('invoerveld').style.display = 'inline'; document.getElementById('invoerveld').style.visibility = 'visible';
}
else
{
document.getElementById('invoerveld').style.display = 'none'; document.getElementById('invoerveld').style.visibility = 'hidden';
}
}
-->
</script>
</head>
<body>
<?php
if(isset($_POST['offerte']) && $_POST['offerte'] == 'nee')
echo 'Dan niet ';
elseif(isset($_POST['offerte']) && $_POST['offerte'] == 'ja')
echo 'Goed zo ';
if(isset($_POST['invoerveld']))
echo $_POST['invoerveld'];
?>
<form method="post" action="">
<input type="radio" name="offerte" value="ja" id="offerte" onclick="toggle();"/> Ja
<input type="radio" name="offerte" value="nee" id="offerte" onclick="toggle();" checked="checked"/> Nee
<input file="text" name="invoerveld" id="invoerveld" style="display:none"/><br/>
<input type="submit"/>
</form>
</body>
</html>
Gewijzigd op 09/07/2010 18:22:23 door Michael -
Dat is al heel fijn, maar nu komt er nog niets onder te staan als ik op ja klik. Hier kan je het bekijken: http://www.jasites.nl/test.php
Zou je me nog kunnen helpen? Ik vind dit trouwens al echt heel erg fijn! Echt bedankt dat je me zo erg helpt!
Zou je me nog kunnen helpen? Ik vind dit trouwens al echt heel erg fijn! Echt bedankt dat je me zo erg helpt!
Gewijzigd op 09/07/2010 21:59:08 door Joeri van Spijk
Probeer dit eens:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
<head>
<script type="text/javascript">
function toggle(weergeef){
document.getElementById('invoerveld').style.display = weergeef == 'ja' ? '' : 'none';
}
</script>
</head>
<body>
<?php
if(isset($_POST['offerte']) && $_POST['offerte'] == 'nee')
echo 'Dan niet ';
elseif(isset($_POST['offerte']) && $_POST['offerte'] == 'ja')
echo 'Goed zo ';
if(isset($_POST['invoerveld']))
echo $_POST['invoerveld'];
?>
<form method="post" action="">
<label><input type="radio" name="offerte" value="ja" id="offerte" onclick="toggle(this.value);" /> Ja</label>
<label><input type="radio" name="offerte" value="nee" id="offerte" onclick="toggle(this.value);" checked="checked" /> Nee</label>
<input file="text" name="invoerveld" id="invoerveld" style="display:none"/><br />
<input type="submit" />
</form>
</body>
</html>
<head>
<script type="text/javascript">
function toggle(weergeef){
document.getElementById('invoerveld').style.display = weergeef == 'ja' ? '' : 'none';
}
</script>
</head>
<body>
<?php
if(isset($_POST['offerte']) && $_POST['offerte'] == 'nee')
echo 'Dan niet ';
elseif(isset($_POST['offerte']) && $_POST['offerte'] == 'ja')
echo 'Goed zo ';
if(isset($_POST['invoerveld']))
echo $_POST['invoerveld'];
?>
<form method="post" action="">
<label><input type="radio" name="offerte" value="ja" id="offerte" onclick="toggle(this.value);" /> Ja</label>
<label><input type="radio" name="offerte" value="nee" id="offerte" onclick="toggle(this.value);" checked="checked" /> Nee</label>
<input file="text" name="invoerveld" id="invoerveld" style="display:none"/><br />
<input type="submit" />
</form>
</body>
</html>
JAA!! DIE WERKT!! Echt heel erg bedankt man! Jij Ook Tur Min, voor het begin!
Ik kan echt altijd rekenen op de mensen bij phphulp.nl!
Ik kan echt altijd rekenen op de mensen bij phphulp.nl!
Maar als je nu hetzelfde wilt alleen nu met 3 radiobuttons.
Te weten:
Jongen
Meisje
Onbekend
Ik wil graag weten als er iemand een kaart besteld wat het gaat worden.
Dit is een gedeelte van de php code:
/* Gathering Data Variables */
$aanvraagField = $_POST['aanvraag'];
$naamField = $_POST['naam'];
$adresField = $_POST['adres'];
$postcodeField = $_POST['postcode'];
$woonplaatsField = $_POST['woonplaats'];
$telnoField = $_POST['telno'];
$emailField = $_POST['email'];
$uitgerekendField = $_POST['uitgerekend'];
$naamkidsField = $_POST['naamkids'];
$jongenField = $_POST['jongen'];
$meisjeField = $_POST['meisje'];
$onbekendField = $_POST['onbekend'];
$trouwdatumField = $_POST['trouwdatum'];
$tekstField = $_POST['tekst'];
$gevondenField = $_POST['gevonden'];
$body = <<<EOD
<br><hr><br>
Aangevraagd kaartje: $aanvraagField <br>
Naam: $naamField <br>
Adres: $adresField <br>
Postcode: $postcodeField <br>
Woonplaats: $woonplaatsField <br>
Telefoonnummer: $telnoField <br>
Email: $emailField <br>
Uitrekendatum: $uitgerekendField <br>
Naam kind: $naamkidsField <br>
Jongen: $jongenField <br>
Meisje: $meisjeField <br>
Onbekend: $onbekendField <br>
Datum trouwen/adoptie/geboorte: $trouwdatumField <br>
Tekst: $tekstField <br>
Naam gevonden: $gevondenField <br>
EOD;
Te weten:
Jongen
Meisje
Onbekend
Ik wil graag weten als er iemand een kaart besteld wat het gaat worden.
Dit is een gedeelte van de php code:
/* Gathering Data Variables */
$aanvraagField = $_POST['aanvraag'];
$naamField = $_POST['naam'];
$adresField = $_POST['adres'];
$postcodeField = $_POST['postcode'];
$woonplaatsField = $_POST['woonplaats'];
$telnoField = $_POST['telno'];
$emailField = $_POST['email'];
$uitgerekendField = $_POST['uitgerekend'];
$naamkidsField = $_POST['naamkids'];
$jongenField = $_POST['jongen'];
$meisjeField = $_POST['meisje'];
$onbekendField = $_POST['onbekend'];
$trouwdatumField = $_POST['trouwdatum'];
$tekstField = $_POST['tekst'];
$gevondenField = $_POST['gevonden'];
$body = <<<EOD
<br><hr><br>
Aangevraagd kaartje: $aanvraagField <br>
Naam: $naamField <br>
Adres: $adresField <br>
Postcode: $postcodeField <br>
Woonplaats: $woonplaatsField <br>
Telefoonnummer: $telnoField <br>
Email: $emailField <br>
Uitrekendatum: $uitgerekendField <br>
Naam kind: $naamkidsField <br>
Jongen: $jongenField <br>
Meisje: $meisjeField <br>
Onbekend: $onbekendField <br>
Datum trouwen/adoptie/geboorte: $trouwdatumField <br>
Tekst: $tekstField <br>
Naam gevonden: $gevondenField <br>
EOD;
Je reageert op een topic van een jaar geleden, maak even een nieuw topic aan aub



