Mijn huiswerkscript werkt niet?!

Status
Niet open voor verdere reacties.

Tacconie

Gebruiker
Lid geworden
6 jan 2008
Berichten
48
Hallo allemaal,

Ik heb voor mijn klas een huiswerkscript in elkaar gezet, maar hij laat het husiwerk niet zien.
Ik snap de fout niet.
Zou iemand kunnen helpen?

PHP:
<HTML>
<form action="" method="get">
<b>Andere datum: (we zijn vandaag <?php 
$nu = date("d-m-Y");
echo $nu;
 ?> ) <br>
</b>
<input type="text" name="date"><br><br>
<input type="submit" value="HUISWERK"><br>


</HTML>

<?php
$huiswerkdatum = $_GET["date"]; 
$bestand = "/huiswerk/".$huiswerkdatum.".txt";
$morgen = date("d-m-Y",strtotime("+1 day"));
$morgenbestand = "/huiswerk/".$morgen.".txt";


$huiswerk = include($bestand);
echo "Morgen:(";
echo $morgen; 
echo ")<BR>_______________________<Br>";
include($morgenbestand);
echo "<BR><BR><BR>";


if (file_exists($bestand)){

$huiswerk = include($bestand);

echo $huiswerkdatum; 
echo "<BR> _______________________ <BR>";
echo $huiswerk;

}else{

echo $huiswerkdatum; 
echo "<BR> _______________________ <BR>";
echo "Geen huiswerk opgekregen.";

}


?>

Het is de bedoeling dat je ene datum in kan voeren, en dat hij dan de .txt van die dag include (waar het huiswerk instaad).
 
Krijg je ook een foutmelding?

Heb je wel bestanden op http://jesite.nl/huiswerk/ staan?

Heb je bestanden in die map staan die voldoen aan je vraag (Dus 15-10-2008.txt)
 
Waarom zet je de include in een variabele?

PHP:
<?php
$huiswerkdatum = $_GET["date"]; 
$bestand = "/huiswerk/".$huiswerkdatum.".txt";
$morgen = date("d-m-Y",strtotime("+1 day"));
$morgenbestand = "/huiswerk/".$morgen.".txt";


echo "Morgen:(";
echo $morgen; 
echo ")<BR>_______________________<Br>";
include($morgenbestand);
echo "<BR><BR><BR>";


if (file_exists($bestand)){



echo $huiswerkdatum; 
echo "<BR> _______________________ <BR>";
include($bestand);

}else{

echo $huiswerkdatum; 
echo "<BR> _______________________ <BR>";
echo "Geen huiswerk opgekregen.";

}


?>
 
../

ik zette het in een variable omdat ik (als php-noob) dat wat overzichtelijker vond.......
 
Een include kun je niet zo in een variabele zetten.
 
Misschien kun je eens de waarden van de variabelen eens echoën, dan kun je vaak al zien of er iets misgaat.

Maar wat je nu doet:

PHP:
$huiswerkdatum = $_GET["date"];

Schiet niet op, want als je de pagina rechtstreeks aanroept, bestaat $_GET['date'] helemaal niet.

Dus je zult een constructie moeten maken die $_GET['date'] gebruikt als die bestaat en als dat niet zo is, dan gebruikt je de huidige datum.
 
dit dan??

ik heb de includes nu direct in de code gezet:
PHP:
<?php 
$huiswerkdatum = $_GET["date"];  
$morgen = date("d-m-Y",strtotime("+1 day")); 



echo "Morgen:("; 
echo $morgen;  
echo ")<BR>_______________________<Br>"; 
include("/huiswerk/".$morgen.".txt"); 
echo "<BR><BR><BR>"; 


if (file_exists("/huiswerk/".$huiswerkdatum.".txt")){ 



echo $huiswerkdatum;  
echo "<BR> _______________________ <BR>"; 
include("/huiswerk/".$huiswerkdatum.".txt"); 

}else{ 

echo $huiswerkdatum;  
echo "<BR> _______________________ <BR>"; 
echo "Geen huiswerk opgekregen."; 

} 


?>
ik heb het aangepast, maar heb nogsteeds hetzelfde probleem.....
 
Volgens mij moet

PHP:
strtotime

zijn

PHP:
strftime

EDIT: Toch niet...:o
 
Laatst bewerkt:
PHP:
<HTML>
<form action="" method="get">
<b>Andere datum: (we zijn vandaag <?php 
$nu = date("d-m-Y");
echo $nu;
 ?> ) <br>
</b>
<input type="text" name="date"><br><br>
<input type="submit" value="HUISWERK"><br>


</HTML>

<?php
if(isset($_GET['date'])){
	$huiswerkdatum = $_GET['date'];
} else {
	$huiswerkdatum = date("d-m-Y");
}
$bestand = "huiswerk/".$huiswerkdatum.".txt";
$morgen = date("d-m-Y",strtotime("+1 day"));
$morgenbestand = "huiswerk/".$morgen.".txt";


echo "Morgen:(";
echo $morgen; 
echo ")<BR>_______________________<Br>";
include($morgenbestand);
echo "<BR><BR><BR>";


if (file_exists($bestand)){



echo $huiswerkdatum; 
echo "<BR> _______________________ <BR>";
include($bestand);

}else{

echo $huiswerkdatum; 
echo "<BR> _______________________ <BR>";
echo "Geen huiswerk opgekregen.";

}


?>

Zo werkt ie bij mij.
 
Klaar!!!

Bij mij werkt hij ook!

Hartstikkene bedankt allemaal!!!:thumb:
 
gebruik even
PHP:
htmlentities($_GET['date']);
ipv
PHP:
$_GET['date'];
is veiliger ;)
 
In dit script maakt het niets uit.

Een controle of het een getal is zal veel effectiever zijn.
 
Een datum is nooit een getal, er staan namelijk koppeltekens in. Datums check je met checkdate(), weet je gelijk of de datum wel bestaat.

PHP:
if(isset($_GET['date'])){

 // Date bestaat.

  $aDate = explode('-', $_GET['date']);

  if(checkdate($aDate[1], $aDate[0], $aDate[2])){
  
     // Datum is geldig.

  }else{

    // Datum is niet geldig.

  }
}else{

  // Date bestaat niet.

}
 
Klopt, even overheen gekeken.

De structuur welke SvU aandraagt is dus nog beter/veiliger (voor dit script).
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan