4 problemer i et hjemmelavet survey-modul.
Hej Alle.Jeg sidder og har lært mig selv en del PHP som jeg skal bruge da jeg skal lave et brugerundersøgelsesmodul til brug i min Bacholor-opgave.
Men jeg har nu 4 problemer/ting jeg ikke er helt sikker på, og jeg håber I kan hjælpe.
Spørgsmålene er kort beskrevet direkte i koden og det er disse 4:
//PROBLEM 1: WHEN THE KEYS ARE SET BUT THE VALUE IS NOT - WILL THE VALUE BE "NULL"?
//PROBLEM 2: WILL THE CHECKS WORK? (All checks are the same, so if the first works, the rest will follow.)
//PROBLEM 3: GO TO THE NEXT PAGE AND TRANSFER THE ALLREADY ASSIGNED ELEMENTS IN THE "ANSWERS ARRAY" AS WELL.
//PROBLEM 4: AS THERE WARE PROBLEMS DISPLAY THE HTML-FORM AGAIN (OR THE WHOLE PAGE)
Nærmere beskrivelse af brugerundersøgelsesmodulet, til dem der gerne vil forstå lidt mere.
Meningen er at folk kommer ind og skal svare på alle spørgsmål på side 1, herefter bliver en variable sat der gør at siden vil forsøge at alle variabler som kommer fra den pågældende side er sat, hvis ikke vil siden udskrive de værdier der kommer til at ligge i array'et errors.
Hvis alt er som det skal være, skal den næste side (med flere spørgsmål) åbnes og værdierne i answers array'et skal overføres til den næste side.
På den sidste side vil alle værdier så blive lagt i database.
Jeg ved at det er meget og nok besværligt at svare på, derfor udlover jeg så mange points.
Andre kommentarer eller gode råd tages der også imod med rund hånd.
GOD DAG.
Johnson
Koden:
-------:.:.:--------
<?php
if (isset($_POST['personal_done'])) { //Check if the hidden field "personal_done" has been set to TRUE
//Initiate the error array, the answers array and check the different variables to see if they have been set.
$errors = array();
$answers = array( 'gender', 'age', 'income', 'home', 'time_online', 'it_knowhow', 'online_buys', //Questions on the first page
'bona_design', 'bona_usability', 'bona_searching', 'bona_adverts', 'bona_company', //Questions on the second page
'tvshop_design', 'tvshop_usability', 'tvshop_searching', 'tvshop_adverts', 'tvshop_company',//Questions on the third page
'best_design', 'best_usability', 'most_trustworth', 'preffered_shop'//Questions on the fourth page
);
//PROBLEM 1: WHEN THE KEYS ARE SET BUT THE VALUE IS NOT - WILL THE VALUE BE "NULL"?
//PROBLEM 2: WILL THE CHECKS WORK? (All checks are the same, so if the first works, the rest will follow.)
//gender check - WILL IT WORK?
if (!isset(array['gender']) {//if the value in key gender is NOT set, hvem go to else clause.
$errors[] = 'Du har ikke intastet dit køn!';
} else {//if the check passes - assign the value to the answers array
$answers['gender'] = ($_POST['gender']);
}
//age check
if (!isset(array['age']) {
$errors[] = 'Du har ikke intastet din alder!';
} else {
$answers['$age'] = ($_POST['age']);
}
//income check
if (!isset(array['income']) {
$errors[] = 'Du har ikke intastet din indkomst!';
} else {
$answers['$income'] = ($_POST['income']);
}
//home check
if (!isset(array['home']) {
$errors[] = 'Du har ikke intastet hvor du bor!';
} else {
$answers['$home'] = ($_POST['home']);
}
//time_online check
if (!isset(array['time_online']) {
$errors[] = 'Du har ikke intastet hvor meget tid du bruger på internettet pr. dag!';
} else {
$answers['$time_online'] = ($_POST['time_online']);
}
//it_knowhow check
if (!isset(array['it_knowhow']) {
$errors[] = 'Du har ikke intastet din internet kunnen!';
} else {
$answers['$it_knowhow'] = ($_POST['it_knowhow']);
}
//internet_buys check
if (!isset(array['internet_buys']) {
$errors[] = 'Du har ikke intastet hvor ofte du køber ting på internettet!';
} else {
$answers['$internet_buys'] = ($_POST['internet_buys']);
}
}
if (empty($errors)){
//PROBLEM 3: GO TO THE NEXT PAGE AND TRANSFER THE ALLREADY ASSIGNED ELEMENTS IN THE "ANSWERS ARRAY" AS WELL.
} else {
echo ' <h1 id="mainhead">Oplysninger manger!</h1>
<p class="error">Alle felter skal være oplyst:<b>';
foreach ($errors as $msg) {
echo " - $msg<br />\n";
}
echo ' </p><p>Intast igen, tak.</p><p><br /></p>';
//PROBLEM 4: AS THERE WARE PROBLEMS DISPLAY THE HTML-FORM AGAIN (OR THE WHOLE PAGE)
}
?>
<!-- START of the HTML-code for the form-->
<h1 id="mainhead">Om dig:</h1>
<p>Svar så præcist som muligt på spørgsmålene.<br>
Tak for hjælpen.</p>
<form id="personal" name="personal" method="post" action="personal.php">
<table cellspacing="0" cellpadding="2" border="0">
<tr>
<td>
<p><label><b>Køn:</b>
</td>
<td>
<select name="gender">
<option>Vælg</option>
<option value="m">Mand</option>
<option value="f">Kvinde</option>
</select>
</td>
<td>
<a href="" title="Klik her for udførlig beskrivelse" onclick="window.open('help/gender.html','Beskrivelse','width=450,height=100','location=no','screenY=100','screenX=200');return false;"><img src="help.jpg" border="0" /></a>
</td>
</label></p>
</tr>
<tr>
<td>
<p><label><b>Alder:</b>
</td>
<td>
<?PHP
echo '<select name="age">
<option>Vælg</option>
';
for ($age = 15; $age <= 80; $age++)
{echo "<option value=\"$age\">$age</option>\n";
}
echo '</select> <nb>';
?>
</td>
<td>
<a href="" title="Klik her for udførlig beskrivelse" onclick="window.open('help/age.html','Beskrivelse','width=450,height=100','location=no','screenY=100','screenX=200');return false;"><img src="help.jpg" border="0" /></a>
</td>
</label></p>
</tr>
<tr>
<td>
<p><label><b>Årlig Indtægt:</b>
</td>
<td>
<select name="income">
<option>Vælg</option>
<option value="private">Ønsker ikke oplyse</option>
<option value="low">Lav</option>
<option value="middle">Mellem</option>
<option value="high">Høj</option>
</select>
</td>
<td>
<a href="" title="Klik her for udførlig beskrivelse" onclick="window.open('help/income.html','Beskrivelse','width=450,height=100','location=no','screenY=100','screenX=200');return false;"><img src="help.jpg" border="0" /></a>
</td>
</label></p>
</tr>
<tr>
<td>
<p><label><b>Du bor:</b>
</td>
<td>
<select name="home">
<option>Vælg</option>
<option value="country">På landet</option>
<option value="small city">I mindre by</option>
<option value="medium city">I mellemstor by</option>
<option value="large city">I stor by</option>
</select>
</td>
<td>
<a href="" title="Klik her for udførlig beskrivelse" onclick="window.open('help/home.html','Beskrivelse','width=450,height=100','location=no','screenY=100','screenX=200');return false;"><img src="help.jpg" border="0" /></a>
</td>
</label></p>
</tr>
<tr>
<td>
<p><label><b>Hvor meget tid bruger du gennemsnitligt på internettet pr. dag:</b>
</td>
<td>
<select name="time_online">
<option>Vælg</option>
<option value="1">Under 15 minutter</option>
<option value="2">15 til 30 minutter</option>
<option value="3">30 min til 1 time</option>
<option value="4">1 til 2 timer</option>
<option value="5">2 timer og derover</option>
</select>
</td>
<td>
<a href="" title="Klik her for udførlig beskrivelse" onclick="window.open('help/time_online.html','Beskrivelse','width=450,height=100','location=no','screenY=100','screenX=200');return false;"><img src="help.jpg" border="0" /></a>
</td>
</label></p>
</tr>
<tr>
<td>
<p><label><b>Internet kunnen:</b>
</td>
<td>
<select name="it_knowhow">
<option>Vælg</option>
<option value="low">En smule</option>
<option value="medium">Noget</option>
<option value="high">Meget</option>
<option value="Professional">Professionel</option>
</select>
</td>
<td>
<a href="" title="Klik her for udførlig beskrivelse" onclick="window.open('help/it_knowhow.html','Beskrivelse','width=450,height=100','location=no','screenY=100','screenX=200');return false;"><img src="help.jpg" border="0" /></a>
</td>
</label></p>
</tr>
<tr>
<td>
<p><label><b>Hvor ofte køber du ting på nettet:</b>
</td>
<td>
<select name="online_buys">
<option>Vælg</option>
<option value="never">Aldrig</option>
<option value="rarely">Sjældent</option>
<option value="sometimes">Nogle gange</option>
<option value="often">Ofte</option>
</select>
</td>
<td>
<a href="" title="Klik her for udførlig beskrivelse" onclick="window.open('help/online_buys.html','Beskrivelse','width=450,height=100','location=no','screenY=100','screenX=200');return false;"><img src="help.jpg" border="0" /></a>
</td>
</label></p>
</tr>
</table>
<p><div align="right"><input type="submit" name="submit" value="Videre"></div>
<input type="hidden" name="personal_done" value="TRUE" /></p>
</form>