Versio

If RadioButton checked -> echo???

Overzicht Reageren

Joeri van Spijk

Joeri van Spijk

09/07/2010 13:10:27
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


De PHP:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php extract($_POST);
              if ($offerte== 'ja'){
    echo "hier moeten dan de andere velden komen";} ?>
</p>


Wie kan me helpen, want ik weet niet hoe het anders moet...
 
PHP hulp

PHP hulp

25/05/2012 03:27:41
Gesponsorde koppelingen:
 
- SanThe -

- SanThe -

09/07/2010 13:24:13
Quote Anchor link
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.
 
Joeri van Spijk

Joeri van Spijk

09/07/2010 13:37:35
Quote Anchor link
Hoe kan ik dat dan beter doen? Heb je een link of een voorbeeld?
 
- SanThe -

- SanThe -

09/07/2010 13:48:41
Quote Anchor link
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).
 
Joeri van Spijk

Joeri van Spijk

09/07/2010 13:51:15
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php if ($_POST['offerte']== 'ja'){
    echo "hier moeten dan de andere velden komen";} ?>
Gewijzigd op 09/07/2010 13:52:55 door Joeri van Spijk
 
- SanThe -

- SanThe -

09/07/2010 13:55:08
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (isset($_POST['offerte']) and ($_POST['offerte'] == 'ja'))
{

    echo '<input name="extraveld" type="text" value="" />';
}

?>
 
Tristan nvt

Tristan nvt

09/07/2010 15:43:38
Quote Anchor link
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.
 
Michael -

Michael -

09/07/2010 16:36:19
Quote Anchor link
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)
PHP script in nieuw venster Selecteer het PHP script
1
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">

Gewijzigd op 09/07/2010 16:55:16 door Michael -
 
Joeri van Spijk

Joeri van Spijk

09/07/2010 17:27:40
Quote Anchor link
Ok, heel erg bedankt! Dan ga ik nu even kijken of ik het aan de praat kan krijgen...
 
Joeri van Spijk

Joeri van Spijk

09/07/2010 17:43:57
Quote Anchor link
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!
 
Michael -

Michael -

09/07/2010 17:51:50
Quote Anchor link
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.
Gewijzigd op 09/07/2010 18:19:29 door Michael -
 
Joeri van Spijk

Joeri van Spijk

09/07/2010 18:01:49
Quote Anchor link
Dan wil ik die van jou hebben! Dus jouw stukje script moet ik gewoon tussen <script type "text/javascript></script> zetten?

Dus dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>
 
Michael -

Michael -

09/07/2010 18:21:37
Quote Anchor link
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).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<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 -
 
Joeri van Spijk

Joeri van Spijk

09/07/2010 21:58:36
Quote Anchor link
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!
Gewijzigd op 09/07/2010 21:59:08 door Joeri van Spijk
 
P Lekensteyn

P Lekensteyn

10/07/2010 10:05:15
Quote Anchor link
Probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<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>
 
Joeri van Spijk

Joeri van Spijk

10/07/2010 15:13:54
Quote Anchor link
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!
 
Mark Liebregts

Mark Liebregts

24/06/2011 22:05:12
Quote Anchor link
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;
 
Gerhard l

gerhard l

24/06/2011 22:14:24
Quote Anchor link
Je reageert op een topic van een jaar geleden, maak even een nieuw topic aan aub
 



Overzicht Reageren