Probleem met sessie (Dropdown menu - Database)
Hoi allemaal,
Ik ben met een script bezig en ik liep even tegen dit sessie probleem.
Ik haal alle informatie(De namen van de trainingen) van de database.
Op het php bestand heb ik de volgende script:
En op het html bestand heb ik het volgende form:
Dus elke keer als ik het formulier niet helemaal heb ingevuld krijg ik een foutmelding (Je bent vergeten om ...)
Het probleem is dat ik elke keer de naam van de training moet weer invullen, omdat ie niet wordt herkent door de sessie.
Ik hoop dat ik wat hulp krijg.
Mocht je nog vragen hebben, dan hoor ik het graag van je.
Alvast bedankt,
SZ
Ik ben met een script bezig en ik liep even tegen dit sessie probleem.
Ik haal alle informatie(De namen van de trainingen) van de database.
Op het php bestand heb ik de volgende script:
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
$sql = "SELECT *
FROM ".TRAINING_TABLE."
WHERE training_active = 1
ORDER by training_name ASC";
$result = $site_db->query($sql);
$num_rows = $site_db->get_numrows($result);
$training_dropdown_form .= "<option value=\"\">Maak uw keuze</option>";
while ($training_row = $site_db->fetch_array($result))
{
$training_dropdown_form .= "<option value=\"".$training_row['training_name']."\"";
if($_SESSION['training_afmelden_training'] == $training_row['training_name']){
$selected = "\"SELECTED\"";
}else{
$selected = "";}
$training_dropdown_form .= " ".$selected.">".$training_row['training_name']."</option>";
}
$site_template->register_vars("training_dropdown_form", $training_dropdown_form);
unset($training_dropdown_form);
?>
$sql = "SELECT *
FROM ".TRAINING_TABLE."
WHERE training_active = 1
ORDER by training_name ASC";
$result = $site_db->query($sql);
$num_rows = $site_db->get_numrows($result);
$training_dropdown_form .= "<option value=\"\">Maak uw keuze</option>";
while ($training_row = $site_db->fetch_array($result))
{
$training_dropdown_form .= "<option value=\"".$training_row['training_name']."\"";
if($_SESSION['training_afmelden_training'] == $training_row['training_name']){
$selected = "\"SELECTED\"";
}else{
$selected = "";}
$training_dropdown_form .= " ".$selected.">".$training_row['training_name']."</option>";
}
$site_template->register_vars("training_dropdown_form", $training_dropdown_form);
unset($training_dropdown_form);
?>
En op het html bestand heb ik het volgende form:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<FORM id="ContactForm" method="post" action="{url_send_training_afmelden}">
<fieldset>
<legend>Contactpersoon</legend>
<DIV class=fm-req>
<label for="email">{lang_training_afmelden_training}:</label>
<select
type="text"
name="training_afmelden_training">
{training_dropdown_form}
</select>
</DIV>
</fieldset>
<fieldset class="action">
<input class="form_button_send" type="submit" name="send_training_afmelden" value="{lang_submit}" />
<input class="form_button_reset" type="reset" value="{lang_reset}" />
</fieldset>
</form>
<fieldset>
<legend>Contactpersoon</legend>
<DIV class=fm-req>
<label for="email">{lang_training_afmelden_training}:</label>
<select
type="text"
name="training_afmelden_training">
{training_dropdown_form}
</select>
</DIV>
</fieldset>
<fieldset class="action">
<input class="form_button_send" type="submit" name="send_training_afmelden" value="{lang_submit}" />
<input class="form_button_reset" type="reset" value="{lang_reset}" />
</fieldset>
</form>
Dus elke keer als ik het formulier niet helemaal heb ingevuld krijg ik een foutmelding (Je bent vergeten om ...)
Het probleem is dat ik elke keer de naam van de training moet weer invullen, omdat ie niet wordt herkent door de sessie.
Ik hoop dat ik wat hulp krijg.
Mocht je nog vragen hebben, dan hoor ik het graag van je.
Alvast bedankt,
SZ
Gewijzigd op 09/11/2011 20:55:21 door Sara Z
Meteen na de opening tag session_start();
gebruiken, PHP moet weten dat er sessies worden gebruikt.
gebruiken, PHP moet weten dat er sessies worden gebruikt.
Gewijzigd op 09/11/2011 21:14:04 door Eddy B
Bedankt Eddy. Ik heb de volgende code gebruikt, maar zonder succes:
Enig idee?
Toevoeging op 09/11/2011 21:24:59:
Het is gemaakt. Dank je wel Eddy:)
Code (php)
1
2
3
4
2
3
4
<?php
session_start();
$_SESSION['training_afmelden_training'] = $HTTP_POST_VARS['training_afmelden_training'];
?>
session_start();
$_SESSION['training_afmelden_training'] = $HTTP_POST_VARS['training_afmelden_training'];
?>
Enig idee?
Toevoeging op 09/11/2011 21:24:59:
Het is gemaakt. Dank je wel Eddy:)
HTTP_POST_VARS is verleden tijd. gebruik de POST variabelen.
Tevens kan jou code een heel stuk netter. Bouw fouthandeling dat scheelt al heel veel
Tevens kan jou code een heel stuk netter. Bouw fouthandeling dat scheelt al heel veel
Ik zal het doen. Dank je wel Jordi:)




