Diskuze: Nejde přechod na druhou stránku
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Nefunguje ti to, lebo konštantu BASE_URL nemáš definovanú, tým pádom error sa vloží do href atribútu:
<a href="<br /> <b>Warning</b>: Use of undefined constant BASE_URL - assumed 'BASE_URL' (this will throw an Error in a future version of PHP) in <b>E:\xampp\htdocs\index.php</b> on line <b>4</b><br /> BASE_URL?page=user&action=read-all">Read all user</a>
Takto to môžeš vyriešiť bez použitia PHP na tvorbu ciest:
<body>
<nav>
<a href="/">Home</a>
<a href="/?page=user&action=read-all">Read all user</a>
<a href="/?page=user&action=by-email">By email</a>
<a href="/?page=logout">Logout</a>
<a href="/?page=login">Login</a>
</nav>
<main>
<?php
$file = "./page/" . $_GET["page"] . ".php";
if(file_exists($file)){
include $file;
}else{
echo "<h1>This is home page </h1>";
}
?>
</main>
</body>
Ono tam muze byt vic pricin. Mozna si zkus zapnout error_reporting().
Jak pise gold604, BASE_URLmuze byt undefined.
google = php BASE_URL
Pravdepodobne BASE_URL je v programu definovana jako const. Tu cast programu sis
nezkopiroval. Nebo nemas aktivovane nejake nastaveni v php
<?= je zkraceny zapis pro <?php echo, to je take treba v php aktivovat, jinak se zkracovani nepouziva, php to ignoruje a do html kodu da text '<?='
Pouzivani / na zacatku adresy bych se vyhnul, kdyz nevis, jak to funguje.
Proto ho mozna nepouzivas.
/ je root directory. To je treba nastavit v php kam root bude zmerovat. Pripadne
pres soubor .htaccess. Jinak budes misto na svu slozku odkazovat na serverovou
linuxovou slozku /var/www
A vubec, cely php kod bys mel poresit predtim nez napise body. Prerusovat vypis pres echo nejakym dalsim zpracovanim ti muze zpusobit celou radu problemu. a kdyz by to bylo predtim, muzes si tu konstantu definovat a nepsalo by ti to chybu.
define('BASE_URL', base_url());
Ostatne, google = google php BASE_URL const
https://stackoverflow.com/…nstants-file
--- constants.php: ---
define('BASE_URL', "http://mysite.com");
define('USER_UPLOAD_URL', BASE_URL."uploads/user_uploads/");
--- config.php ---
$config['base_url'] = BASE_URL;
Zobrazeno 3 zpráv z 3.