dropdown value in databank?
ik maak ene applicatie en jongeren moeten uit een dopdownlijst een probleem kiezen
vb "drugs" of "liefde".
Nu wil ik dat als ze een keuze maken en op verzend klikken, dat de waarde "drugs" bijvoorbeeld in de database komt onder het veldje "probleem".
Hoe kan ik dit het beste doen?
het is nogal dringend
alvast bedankt voor de hulp!!
Code (php)
1
2
3
2
3
<?php
$sql = mysql_query("INSERT INTO tabel (probleem) VALUES ('".mysql_real_escape_string($_POST['probleem'])."')");
?>
$sql = mysql_query("INSERT INTO tabel (probleem) VALUES ('".mysql_real_escape_string($_POST['probleem'])."')");
?>
Gewijzigd op 18/05/2011 11:14:49 door Arjan -
Toevoeging op 18/05/2011 11:20:29:
dit is de code van de dropdown
<div id="comments">
<form method="post" action="filter.php">
<select name="selectlist">
<option value="zelfmoord">Zelfmoord</option>
<option value="ouders">Ouders</option>
<option value="school">School</option>
<option value="drugs">Drugs</option>
<option value="alcohol">Alcohol</option>
<option value="liefde">Liefde</option>
<option value="zwanger">Zwanger</option>
</select>
<input type="submit" id="sendbtn" value="Verzend" class="button" onclick="sendValue();">
</form>
</div>
dit is de functie sendValue()
<script language="javascript">
function sendValue()
{
var text = escape(document.getElementById('commenttext').value);
window.location.href='filter.php?commenttext='+text;
}
Code (php)
1
2
3
2
3
<?php
$sql = mysql_query("INSERT INTO tblusers (probleem) VALUES ('".mysql_real_escape_string($_POST['text'])."')");
?>
$sql = mysql_query("INSERT INTO tblusers (probleem) VALUES ('".mysql_real_escape_string($_POST['text'])."')");
?>
</script>
het lijkt mij wel raar om php met js te combineren, maar ik zou niet weten hoe ik het anders moet aanpakken
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if(isset($_GET['commenttext']) AND trim($_GET['commenttext']) != '') {
$sql = mysql_query("INSERT INTO tblusers (probleem) VALUES ('".mysql_real_escape_string($_GET['commenttext'])."')");
}
?>
if(isset($_GET['commenttext']) AND trim($_GET['commenttext']) != '') {
$sql = mysql_query("INSERT INTO tblusers (probleem) VALUES ('".mysql_real_escape_string($_GET['commenttext'])."')");
}
?>
heb het erin gezet en er komt niets in het veldje probleem te staan in de databank
Databasetabel / -velden juist? Word je doorverwerzen naar filter.php?commenttext=... ? En komt achter commenttext in de adressenbalk de juiste waarde te staan? Zo ja, welke waarde?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$commenttext = trim($_POST['commenttext']);
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($commenttext)) {
$sql = 'INSERT INTO tblusers (probleem) VALUES ("'.mysql_real_escape_string($commenttext).'")';
if (mysql_query($sql)) {
// Opgeslagen
echo 'Opgeslagen';
} else {
// Opslaan mislukt
echo 'Opslaan mislukt';
}
}
?>
$commenttext = trim($_POST['commenttext']);
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($commenttext)) {
$sql = 'INSERT INTO tblusers (probleem) VALUES ("'.mysql_real_escape_string($commenttext).'")';
if (mysql_query($sql)) {
// Opgeslagen
echo 'Opgeslagen';
} else {
// Opslaan mislukt
echo 'Opslaan mislukt';
}
}
?>
Ik werk niet in je omgeving dus ik kan me er niet helemaal goed in orienteren, maar zo iets als ik hier boven heb staan zal het ongeveer worden. Zit ook een beetje foutafhandeling in, niet geheel onbelangrijk ;) Anders krijg je een blanco pagina te zien en weet je niet of het wel of niet gelukt is. Zorg overigens wel dat je van tevoren een database connectie hebt!
Erik
Gewijzigd op 18/05/2011 11:45:47 door Erik van de Locht
Gezien de beperkte kennis van de TS ga ik mij niet wagen aan het aanleren van foutafhandeling. Maar het is inderdaad niet onbelangrijk.
Gewijzigd op 18/05/2011 11:47:56 door Arjan -
Edit: Ik gok dat het probleem zit in het feit dat je geen database connectie hebt ;)
Edit2: Je geeft aan dat je het raar vind om JS met PHP de combineren op de manier zoals je het nu doet. Het is inderdaad een beetje omslachtig, want je hebt javascript helemaal niet nodig. Zo lang je als form method 'post' aan geeft, stuurt de submit knop je naar de gespecificeerde action=''. De variabelen van het formulier (b.v. veldnaam 'commenttext') is dan beschikbaar onder $_POST['commenttext'].
Gewijzigd op 18/05/2011 11:54:18 door Erik van de Locht
Dus zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<div id="comments">
<form method="post" action="filter.php">
<select name="probleem">
<option value="zelfmoord">Zelfmoord</option>
<option value="ouders">Ouders</option>
<option value="school">School</option>
<option value="drugs">Drugs</option>
<option value="alcohol">Alcohol</option>
<option value="liefde">Liefde</option>
<option value="zwanger">Zwanger</option>
</select>
<input type="submit" id="sendbtn" value="Verzend" class="button">
</form>
</div>
<form method="post" action="filter.php">
<select name="probleem">
<option value="zelfmoord">Zelfmoord</option>
<option value="ouders">Ouders</option>
<option value="school">School</option>
<option value="drugs">Drugs</option>
<option value="alcohol">Alcohol</option>
<option value="liefde">Liefde</option>
<option value="zwanger">Zwanger</option>
</select>
<input type="submit" id="sendbtn" value="Verzend" class="button">
</form>
</div>
En in filter.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// MYSQL CONNECTIE !!!
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($probleem)) {
$probleem = trim($_POST['probleem']);
$sql = mysql_query("INSERT INTO tblusers (probleem) VALUES ('".mysql_real_escape_string($probleem)."')";
if ($sql) {
// Opgeslagen
echo 'Opgeslagen';
} else {
// Opslaan mislukt
echo 'Opslaan mislukt';
}
}
?>
// MYSQL CONNECTIE !!!
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($probleem)) {
$probleem = trim($_POST['probleem']);
$sql = mysql_query("INSERT INTO tblusers (probleem) VALUES ('".mysql_real_escape_string($probleem)."')";
if ($sql) {
// Opgeslagen
echo 'Opgeslagen';
} else {
// Opslaan mislukt
echo 'Opslaan mislukt';
}
}
?>
(code van Erik)
Erik van de Locht op 18/05/2011 11:47:48:
Edit: Ik gok dat het probleem zit in het feit dat je geen database connectie hebt ;)
Dat is natuurlijk wel handig ja. En daarom ga ik geen moeite doen om foutafhandeling aan te leren.... :)
Gewijzigd op 18/05/2011 11:54:55 door Arjan -
Mijn sessies zaten niet volledig juist, en daarom vult hij overal hetzelfde "probleem" in in de databank