Как става FILE.PHP?**=******* (модули)

t0shk0, дава ми грешки:
Notice: Undefined index: m in C:\xampp\htdocs\index.php on line 2

Notice: Undefined variable: page in C:\xampp\htdocs\index.php on line 9
Грешка 404
(кода е поставен в самото начало)
 
Пробвай така
PHP:
<?php
$get = htmlspecialchars($_GET['m']);
if (!isset($get)) {
    $page = "videos/index.php";
} else {
    $page = "videos/" . $get . ".php";
    if (!file_exists($page)) {
        echo 'Грешка 404';
    } else {
        include("$page");
    }
}
?>
 
t0shk0 каза:
Пробвай така
PHP:
<?php
$get = htmlspecialchars($_GET['m']);
if (!isset($get)) {
    $page = "videos/index.php";
} else {
    $page = "videos/" . $get . ".php";
    if (!file_exists($page)) {
        echo 'Грешка 404';
    } else {
        include("$page");
    }
}
?>

Скрипта бачка обаче като се отвори само индекс и пише:
PHP:
Notice: Undefined index: m in C:\xampp\htdocs\index.php on line 2
Грешка 404

иначе като отворя страницата там с index.php?m=sranica бачка :)
 
Господин "бияч", няма как да успееш да си нагодиш подобен скрипт въпреки, че ти го поднасят на тепсия, ако не знаеш основните неща в php. Аз също имам един доста добър и максимално опростен, но не смятам да ти го предоставям при положение, че ти нищичко не разбираш. http://www.php.net/

Това е положението. :)
 
webdeveloper каза:
Господин "бияч", няма как да успееш да си нагодиш подобен скрипт въпреки, че ти го поднасят на тепсия, ако не знаеш основните неща в php.

Това е положението. :)
Господин "раздавач на прякори", колкото знам - толкова, за това сте Вие всичките да помагате. :D

edit: аз ако му разбирах нямаше да пиша тук за помощ, между другото това за биенето беше на базик ама ще ми остане лошо име май :oops:

edit2: мисля да прочета 4-те части за "Основи на PHP" в скоро най-скоро време, но пак немога да си обесня как да настроя този код, имам минимални познания - вярно е ама пак немога да си обесня каде точно ми е грешката. :o
 
PHP:
<?php
$get = htmlspecialchars($_GET['m']);
if (strlen($get) == 0) {
    $page = "videos/index.php";
} else {
    $page = "videos/" . $get . ".php";
    if (!file_exists($page)) {
        echo 'Грешка 404';
    } else {
        include("$page");
    }
}
?>
 
t0shk0 каза:
PHP:
<?php
$get = htmlspecialchars($_GET['m']);
if (strlen($get) == 0) {
    $page = "videos/index.php";
} else {
    $page = "videos/" . $get . ".php";
    if (!file_exists($page)) {
        echo 'Грешка 404';
    } else {
        include("$page");
    }
}
?>

Благодарен съм ти много че си губиш времето с мойте глупости ама:



Notice: Undefined index: m in C:\xampp\htdocs\index.php on line 28

Преместих кода малко по-надоло и ред 28 е:
PHP:
$get = htmlspecialchars($_GET['m']);

edit: http://prikachi.com/images/735/3881735Y.jpg
 
Пробвай така
PHP:
<?php
if(isset($_GET['m']) {
     $get = htmlspecialchars($_GET['m']);
     $page = "videos/" . $get . ".php";
} else {
     $page = "videos/index.php";
}
if (!file_exists($page)) {
     echo 'Грешка 404';
} else {
     include $page;
}
?>
 
t0shk0 каза:
Пробвай така
PHP:
<?php
if(isset($_GET['m']) {
     $get = htmlspecialchars($_GET['m']);
     $page = "videos/" . $get . ".php";
} else {
     $page = "videos/index.php";
}
if (!file_exists($page)) {
     echo 'Грешка 404';
} else {
     include $page;
}
?>

Тотален срив: сега нищо не се показва само бял фон с текст:
Код:
Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\index.php on line 28
 
PHP:
<?php
if(strlen($_GET['m']) != 0) {
     $get = htmlspecialchars($_GET['m']);
     $page = "videos/" . $get . ".php";
} else {
     $page = "videos/index.php";
}
if (!file_exists($page)) {
     echo 'Грешка 404';
} else {
     include $page;
}
?>

Бях изпуснал 1 скоба ;)
 
t0shk0 каза:
PHP:
<?php
if(strlen($_GET['m']) != 0) {
     $get = htmlspecialchars($_GET['m']);
     $page = "videos/" . $get . ".php";
} else {
     $page = "videos/index.php";
}
if (!file_exists($page)) {
     echo 'Грешка 404';
} else {
     include $page;
}
?>

Бях изпуснал 1 скоба ;)



Код:
Notice: Undefined index: m in C:\xampp\htdocs\index.php on line 28
Грешка 404
:D
 
Оф аз се отказвам :D ако някой ми намери грешката да я поправи ..

Сега като се загледах и мисля, че така е по-правилно
PHP:
<?php
if(strlen($_GET['m']) == 0) {
     $page = "videos/index.php";
} else {
     $get = htmlspecialchars($_GET['m']);
     $page = "videos/" . $get . ".php";
}
if (!file_exists($page)) {
     echo 'Грешка 404';
} else {
     include $page;
}
?>
 
Еми просто е задал E ALL на error reporting-а и ти показва, че няма предварително зададена стойност за $_GET['m'], но не мисля , че това е проблем. Всъщност ако трябва да го задаваш няма никакъв смисъл от него. Модифицирах малко кода и пробвай с него :


Код:
<?php
if (isset($_GET['m'])) {

     $get = htmlspecialchars($_GET['m']);

     $page = $_SERVER['DOCUMENT_ROOT'] .  "/videos/" . $get . ".php";

} else {

     $page = $_SERVER['DOCUMENT_ROOT'] .  "/videos/index.php";

}

if (!file_exists($page)) {

     echo 'Грешка 404';

} else {

     include $page;

}

?>

Добре е пътищата ти да са абсолютни, иначе ако инклудваш от различни директории може да имаш проблеми.
$_SERVER['DOCUMENT_ROOT'] . "/videos/index.php";
ще бъде равно на public_html/videos/index.php
 
Всъщност щом ти изписва "Грешка 404" кода се изпълнява правилно.
Щом го получаваш, значи
if (!file_exists($page)) {

echo 'Грешка 404';

}
е true, тоест не съществува файл с път $page

Ако например $_GET['m'] ти е = 'vid' значи $get = 'vid'
и $page ще бъде равно на public_html/videos/vid.php
 
Имали някакъв начин предварително да се задава стойност ? И например да отива в /news.php ? Благодаря на всички Ви за всичко.
 
valqka каза:
Имали някакъв начин предварително да се задава стойност ? И например да отива в /news.php ? Благодаря на всички Ви за всичко.
Кажи нещо повече, че не мога да те разбера какво искаш.
 
nbacool2 каза:
valqka каза:
Имали някакъв начин предварително да се задава стойност ? И например да отива в /news.php ? Благодаря на всички Ви за всичко.
Кажи нещо повече, че не мога да те разбера какво искаш.
До колкото разбирам от php - почти никак на променливите се задава стойност - в случея от m се вкарва името на файла който да include, е неможели да се направи автоматично да include някакъв файл - който да е "по подразбиране" ?

edit:
Иначе казано, като се влиза в самият сайт нали се отваря зарежда index.php , можели да се направи това "m" - тази заявка автоматично да извежда-include файла home.php например, обаче без да рефрешва или да пренасочва към ?m=news .. Съжелявам много немога да се изразя правилно и да обесня това което точно ми се иска да стане.
 
Аз ползвам това :)
PHP:
<?php
$_GET['op'] = htmlspecialchars($_GET['op']);
if (!isset($_GET['op'])){
	$page = "modules/home.php";
}else{
	if (!isset($_GET['ext']) || $_GET['ext'] == ''){
		if (htmlspecialchars($_GET['op']) == "home"){
			$page = "modules/home.php";
}else{
		if ($_GET['op']){
$page = "modules/" . $_GET['op'] . "/index.php";
}else{
				$page = "modules/home.php";
			}
		}
}else{
		if ($_GET['op']){

$page = "modules/" . $_GET['op'] . "/" . $_GET['ext'] . ".php";
}else{
			$page = "modules/home.php";
		}
	}
}
if(!file_exists($page))
{
echo 'Страницата не съществува!';
}
else
{
include("$page");
}
?>
 

Back
Горе