Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] jak usunac wyswietlanie bledow
Forum PHP.pl > Forum > Przedszkole
Gość_lamer_*
witam postawilem serwer apache dodalem to tego php , wszystko niby fajnie ale jak wrzucilem stronke wykonana w php na stronie pojawily sie takie komunikaty:

Notice: Use of undefined constant page - assumed 'page' in C:\Apache\Apache2\htdocs\classes\page.php on line 33

i jest jeszcze wiele innych , co mam zmienic w php.ini zeby te komunitay sie nie pojawialy
Ludvik
Wyłącz display_errors. Tylko po co wyłączać? Nie lepiej napisać kod normalnie? Skoro php zwraca uwagę na coś, to znaczy, że wypada to poprawić... W tym przypadku błąd jest typu:


  1. <?php
  2. // Źle
  3. $string = tekst;
  4. ?>

Gdzie zostały pominięte cudzysłowy:
  1. <?php
  2. // Dobrze
  3. $string = 'tekst';
  4. ?>
Gość
oki zaraz sprawdze
Gość
a w tym komunikacje w czym tkwi blad:

Notice: Undefined index: login in C:\Apache\Apache2\htdocs\classes\page.php on line 15
kwiateusz
nie zdefiniowany index jak pamietam to mozliwe ze masz coś takiego: $login=$_POST['login'] gdzie $_POST['login'] jest puste...
nospor
juz dzis to walkowane bylo:
Temat: php Notice
Gość
oki juz znalazlem bledy dzieki wielkie wszystkim za pomoc exclamation.gif!
Gość
jeszce z tymi bledami nie moge sobie dac rady :

Notice: Undefined variable: html in C:\Apache\Apache2\htdocs\classes\page.php on line 22

Notice: Undefined index: login in C:\Apache\Apache2\htdocs\classes\page.php on line 15

a moj kod to:

<?php
include("classes/login_register_system.php");

class Page {

var $maxNormalLinks = 3;
var $maxHiddenLinks = 3;

function Page($maxNormalLinks, $maxHiddenLinks) {
$this->maxNormalLinks = $maxNormalLinks;
$this->maxHiddenLinks = $maxHiddenLinks;
}

function isLogin() {
return $_SESSION['login'] == 1; -tu mu chyba cos dolega ale przeciez ma 1
}

function getLinks() {
$max_links = ($this->isLogin() ? $this->maxNormalLinks + $this->maxHiddenLinks : $this->maxNormalLinks);

for($i = 1; $i <= $max_links; $i++) {
$html .= "<p><a href=\"index.php?page=".$i."\">Link ".$i."</a></p>";
}

$html .= $this->isLogin() ? "" : "<p><a href=\"index.php?page=login\">Login</a></p>";
$html .= $this->isLogin() ? "" : "<p><a href=\"index.php?page=register\">Register</a></p>";
$html .= $this->isLogin() ? "<p><a href=\"index.php?page=logout\">Logout</a></p>" : "";

return $html;
}

function getContent() {
if(isset($_REQUEST['page']) && $_REQUEST['page'] == "login") {
return LoginRegisterSystem::loginRequest();
}

if(isset($_REQUEST['page']) && $_REQUEST['page'] == "register") {
return LoginRegisterSystem::registerRequest();
}

if(isset($_REQUEST['page']) && $_REQUEST['page'] == "logout") {
return LoginRegisterSystem::logout();
}

if(isset($_REQUEST['page'])) {
if($_REQUEST['page'] > 0 && $_REQUEST['page'] <= $this->maxNormalLinks) {
include("page_".$_REQUEST['page'].".htm");
}
if($_REQUEST['page'] > $this->maxNormalLinks && $_REQUEST['page'] <= $this->maxNormalLinks + $this->maxHiddenLinks && $this->isLogin()) {
include("page_".$_REQUEST['page'].".htm");
}
}
}

}

?>
Ludvik
Linia 15: W tablicy $_SESSION nie ma pola o nazwie 'login'.
Linia 22: Dopisujesz tekst do stringa, który nie istnieje. Na samym początku funkcji getLinks() dopisz
  1. <?php
  2. $html = '';
  3. ?>

Wstaw ten kod w znaczniki bbcode, bo źle się to czyta i moderatorzy się denerwują tongue.gif
Waitix
Nie lepiej dopisać do kodu?

Error_reporting(0);
kwiateusz
nie bo poprawny kod nie powinien wyzwalać żadnych błędów nawet noticów winksmiley.jpg
Ludvik
No jasne. Najlepiej będzie pójść na łatwiznę i olać wszystkie uwagi zwracane przez php. Przecież skoro działa, to zawsze będzie wszystko OK. Kod wyrzucający błędy nie jest dobrym kodem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.