Gość_lamer_*
11.07.2006, 12:56:01
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
11.07.2006, 12:59:25
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:
<?php
// Źle
$string = tekst;
?>
Gdzie zostały pominięte cudzysłowy:
<?php
// Dobrze
$string = 'tekst';
?>
Gość
11.07.2006, 13:05:40
oki zaraz sprawdze
Gość
11.07.2006, 13:15:28
a w tym komunikacje w czym tkwi blad:
Notice: Undefined index: login in C:\Apache\Apache2\htdocs\classes\page.php on line 15
kwiateusz
11.07.2006, 13:18:16
nie zdefiniowany index jak pamietam to mozliwe ze masz coś takiego: $login=$_POST['login'] gdzie $_POST['login'] jest puste...
nospor
11.07.2006, 13:19:40
juz dzis to walkowane bylo:
Temat: php Notice
Gość
11.07.2006, 13:22:52
oki juz znalazlem bledy dzieki wielkie wszystkim za pomoc

!
Gość
11.07.2006, 15:09:04
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
11.07.2006, 19:14:16
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
<?php
$html = '';
?>
Wstaw ten kod w znaczniki bbcode, bo źle się to czyta i moderatorzy się denerwują
Waitix
11.07.2006, 21:42:40
Nie lepiej dopisać do kodu?
Error_reporting(0);
kwiateusz
11.07.2006, 23:16:10
nie bo poprawny kod nie powinien wyzwalać żadnych błędów nawet noticów
Ludvik
11.07.2006, 23:25:24
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.