Mee
Legacy Member
We moeten hier voor't school een website bouwen met PHP, Perl, en nog zo van die dingen. Op een vorige pagina moesten we met Perl een formulier in een tekstbestand zetten, in onderstaand script moeten we die info er terug uithalen en de resultaten laten zien (hoeveel keer er "ja" is geantwoord op vraag 1, hoeveel keer "nee",...).
Nu, dat werkt allemaal heel schoon, tot ik er nog iets onder wou zetten: dat lukt gewoonweg niet.
Hier de code van het hele script, ik heb in het vet/rood aangeduid waar de fout ergens zit:
Bla1 zit in de for lus en wordt elke keer afgeprint (6 keer want 6 vragen), Bla2 en alles wat daarna komt wordt straal genegeerd door de browsers.
Weet iemand waar het probleem zit, ik snap er niks van?
PS1: Hier kun je de resulterende pagina zien in zijn volle glorie.
PS2: Sorry als er mensen hartaanvallen krijgen van deze noob-code, u weze gewaarschuwd.
PS3: Opmaak trekt ook op niet veel
Nu, dat werkt allemaal heel schoon, tot ik er nog iets onder wou zetten: dat lukt gewoonweg niet.
Hier de code van het hele script, ik heb in het vet/rood aangeduid waar de fout ergens zit:
Code:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print <<BLA;
<html>
<head>
<title>Resultaten</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="hoofdmening">
<div class="inhoud">
<img src="img/zeester.jpg" alt="Pech, geen foto gevonden!"/>
<div class ="menu" id ="a">
BLA
open(FILE, "menu.php");
while($lijn = <FILE> )
{
print "$lijn";
}
close FILE;
print <<BLA;
</div>
<br/><br/>
<fieldset>
<legend>Antwoorden</legend>
<table>
BLA
#vragen inlezen en bijhouden hoeveel vragen er zijn
$teller = 0;
open(FILE, "enquete.txt");
while($lijn = <FILE> )
{
$vragen[$teller] = $lijn;
$teller++;
}
close FILE;
#resultaten er uit halen:
open(FILE, "tmp/enqres.txt");
while($lijn = <FILE>)
{
@gesplit = split(/:/,$lijn);
for($i = 0; $i < ($teller - 1); $i++)
{
${$results[$i]}{"$gesplit[0]"}++;
shift(@gesplit);
}
shift(@gesplit);
shift(@gesplit);
}
close FILE;
#vragen en resultaten afdrukken:
for($i = 0; $i < $teller; $i++)
{
$totaal = (${$results[$i]}{'j'} + ${$results[$i]}{'n'} + ${$results[$i]}{'g'});
$r = ((${$results[$i]}{'j'})/$totaal)*300;
$g = ((${$results[$i]}{'n'})/$totaal)*300;
$b = ((${$results[$i]}{'g'})/$totaal)*300;
print <<BLI;
<tr>
<td>$vragen[$i]</td>
<td><table class="resultstabel">
<tr align="center">
<td width=$r px bgcolor="red">${$results[$i]}{'j'}</td>
<td width=$g px bgcolor="green">${$results[$i]}{'n'}</td>
<td width=$b px bgcolor="DodgerBlue ">${$results[$i]}{'g'}</td>
</tr>
</table>
</td>
</tr>
BLI
[COLOR="Red"][B]print "bla1";
}
print "bla2";[/B][/COLOR]
print <<BLUB;
bljh
</table>
</fieldset>
bla
</div>
</div>
</body>
</html>
BLUB
Bla1 zit in de for lus en wordt elke keer afgeprint (6 keer want 6 vragen), Bla2 en alles wat daarna komt wordt straal genegeerd door de browsers.
Weet iemand waar het probleem zit, ik snap er niks van?
PS1: Hier kun je de resulterende pagina zien in zijn volle glorie.
PS2: Sorry als er mensen hartaanvallen krijgen van deze noob-code, u weze gewaarschuwd.
PS3: Opmaak trekt ook op niet veel

