Html dropdown form + php
Is het mogelijk om een form te maken met zo'n dropdown ding. Die en die vervolgens door te linken naar een script die de keuze die je hebt gemaakt bij dat dropdown ding door middel van Get_post of door middel van $_post binnen te halen in het script. En als je dan je keuze hebt gemaakt dat dan het dropdown ding weggaat ?
Alvast bedankt
Bjorn
Het kan aan mij liggen maar je verhaal is niet erg duidelijk. Misschien moet je het nog eens door lezen en kijken of je het (in beter Nederlands) kan verwoorden?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
echo 'Je hebt gestemd op: '.$_POST['partij'];
}
else
{
?>
<form method="post" action="#">
<label for="partij">Kies een partij:</label>
<select name="partij" id="partij">
<option>PvdA</option>
<option>CDA</option>
<option>VVD</option>
<option>SP</option>
</select>
<input type="submit" value="Stem!" />
</form>
<?php
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
echo 'Je hebt gestemd op: '.$_POST['partij'];
}
else
{
?>
<form method="post" action="#">
<label for="partij">Kies een partij:</label>
<select name="partij" id="partij">
<option>PvdA</option>
<option>CDA</option>
<option>VVD</option>
<option>SP</option>
</select>
<input type="submit" value="Stem!" />
</form>
<?php
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
ik wil een rating systeem maken. dat mensen kunnen KIEZEN tussen 1 t/m 10. Net zoals hierboven op het forum daar kan je kiezen tussen jump to php of jump to mysql enzo.
Dat wil ik dus eigenlijk en dat je het dan net zo kan verwerken als met een gewoon normaal html form bijvoorbeeld zoals ik hieronder even voor zal doen.
Het input gedeelte :
<form>
kies je leeftijd <textarea..blahblahblah name="leeftijd" action="verwerken.php>
</form>
en dan in het volgende script (verwerken.php)
$leeftijd=$_pos['leeftijd']
ik hoop dat je dat bekent voorkomt. Dat wil ik dus alleen dan niet met ene open textarea. maar dat mensen met een dropdown een keuze kunnen maken tussen 1,2,3,4,5,6,7,8,9,10
Ik hoop dat het nu wel duidelijk is.
Bij voorbaat dank
Eej er zijn edit knopjes
Blanche hoe maak je zo`n form bij phphulp.nl ik bedoel dat 1 2 3 lijning
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
Normaal gesproken doe je dit niet, tenzij je wat veranderd aan de variabele $_POST['partij']. Stel bijvoorbeeld dat het een door de gebruiker ingevoerde waarde is die je in een database wilt zetten, dan wil je de functie mysql_real_escape_string() gebruiken. Dan zou je doen:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$partij = mysql_real_escape_string($_POST['partij']);
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$partij = mysql_real_escape_string($_POST['partij']);
}
?>
Maar als je niets aan de variabele verandert kun je gewoon de variabele $_POST['partij'] blijven gebruiken.
ps. @peter: wat bedoel je met 1 2 3 lijnig?
pps. Bedoel je soms het code veld? Dat doe je met de tags.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
ik wil het inderdaat in eeen database gaan zetten.. alleen snap ik de mysql_real_escape_string niet dus ik doe het een beetje met een omweg door van de post een variabel te maken en die vervolgens te sturen naar de database.. Ik moet het ook niet te moeilijk doen anders gelooft mijn informatica leeraar mij niet meer dat ik het zelf gemaakt heb ;) :P
Maar dan kun je toch gewoon het tweede voorbeeldje gebruiken dat ik ga in mijn post van 20.36 uur? Je kunt dan gewoon de variabele $partij zonder problemen in je database zetten.
maar waar moet ik dan aangeven in welke kolom van de tabel de gegevens moeten worden geplaatst ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql = "
INSERT INTO tabelnaam
(partij)
VALUES
('" . $partij . "')
";
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
?>
$sql = "
INSERT INTO tabelnaam
(partij)
VALUES
('" . $partij . "')
";
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
?>
Ja zat ik net al aan te denken en te proberen ;) Bedankt alvast.. Als er nog problemen voordoen dan laat ik het wel weten.. allemaal bedankt voor de snelle reactie's
dus als je op een knop drukt dat het naar beneden gaat toch?
Volgens mij staat er nog steeds geen dropdown naar beneden
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
include "connect.php";
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$score = mysql_real_escape_string($_POST['cijfer']);
$score = mysql_query("INSERT INTO `rating` (`score`)
VALEUS (`$score`);
}
else
{
?>
include "connect.php";
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$score = mysql_real_escape_string($_POST['cijfer']);
$score = mysql_query("INSERT INTO `rating` (`score`)
VALEUS (`$score`);
}
else
{
?>
<form method="post" action="#">
<label for="partij">Kies een partij:</label>
<select name="partij" id="partij">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<input type="submit" value="Stem!" />
</form>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
echo "u score is $score";
en dat werkte niet :S
$score is hier helemaal geen logische keuze, aangezien het product van een mysql query een resultaat-set is, de naam $result ligt dus veel meer voor de hand.
En sinds wanneer pas je mysql_real_escape_string() toe op een cijfer? Je controleert dan gewoon met is_numeric() of het wel een cijfer is en dan voer je dat gewoon als integer in in je query. De enkele quotes die nu nog in mijn voorbeeldje rond $score staan, moet je dan weglaten.