Asterixus
Aktives Mitglied
Hallo,
ich habe ein gewissen Problem mit Funktionen. Bisher habe ich immer Funktionen geschrieben, bei denen alle Argumente benutzt wurden, immer. Nun grade habe ich eine kleine doofe Funktion geschrieben, bei der ich einfach wollte, dass es kürzer geht, nur dann kam die Nachricht: Wenn die Adresse so lautet:
http://127.0.0.1/html_lernen/index.php?uebung=0
functions.php
index.php
Die Templatedatei existiert, also von daher kein Problem. Nun zu meinem eigentlichen Problem: wie macht man ein Argument (Variable in einer Funktion) fakultativ?
ich habe ein gewissen Problem mit Funktionen. Bisher habe ich immer Funktionen geschrieben, bei denen alle Argumente benutzt wurden, immer. Nun grade habe ich eine kleine doofe Funktion geschrieben, bei der ich einfach wollte, dass es kürzer geht, nur dann kam die Nachricht: Wenn die Adresse so lautet:
http://127.0.0.1/html_lernen/index.php?uebung=0
Mit folgendem Code:Warning: Missing argument 2 for template() in c:\program files\apache group\apache\htdocs\html_lernen\includes\functions.php on line 27
Warning: fread() [function.fread]: Length parameter must be greater than 0. in c:\program files\apache group\apache\htdocs\html_lernen\includes\functions.php on line 37
functions.php
PHP:
<?php
/**
* @return ressource
* @param $query string
* @desc mysql_query
*/
function qry($query) {
return mysql_query($query);
}
/**
* @return string
* @param $zu_ersetzen str
* @param $das_kommt_stattdessen str
* @param $in_welcher_variable str
* @desc Ersetzt Zeichen in einer Variable
*/
function replace($zu_ersetzen, $das_kommt_stattdessen, $in_welcher_variable) {
$produkt = str_replace($zu_ersetzen, $das_kommt_stattdessen, $in_welcher_variable);
return $produkt;
}
/**
* @return void
* @param $datei str
* @param $speziell string[optional]
* @desc Wiedergibt ein Template
*/
function template($datei, $speziell) {
$contents = "";
if (isset($speziell)) {
$datei = "templates/".$datei.".template";
} else {
$datei = "templates/page/".$datei.".template";
$contents.="<div class=\"content\">";
}
$handle = fopen($datei, "r");
$contents .= fread($handle, filesize($datei));
if (!isset($speziell)) {
$contents.="</div>";
}
fclose($handle);
echo ($contents);
}
/**
* @return boolean
* @param $zahl integer
* @desc Wieder gibt true oder false im Falle ob eine Zahl ganz ist oder nicht.
*/
function ist_ein_ganzes($zahl) {
if(!is_numeric($zahl)) {
return false;
} else {
if(round($zahl)==$zahl) {
return true;
} else {
return false;
}
}
}
?>
PHP:
<?php
include("includes/functions.php");
template("start", 1);
template("menue", 1);
template("barre", 1);
if (!isset($_GET["uebung"]) || !isset($_POST["uebung"])) {
$uebung = 0;
}
if (isset($_GET["uebung"])) {
$uebung = $_GET["uebung"];
}
if (isset($_POST["uebung"])) {
$uebung = $_POST["uebung"];
}
if (!ist_ein_ganzes($uebung)) {
$uebung = 0;
}
if ($uebung==0) {
template("0");
}
template("ende", 1);
?>