2015-07-29 2 views
0

Я проблемы с установкой ранее используемой системой управления контентом (CMS) проблемы:Php - Малый управления контентом (CMS)

index.php

<?php 
?> 
<html>                  
    <head> 
    <title>Test</title> 
    </head> 
    <body> 
    </td><td width=100% bgcolor="#aaaaaa" valign=top border=1> 
     <?php include "content.php" ?>          
    </td></tr></table> 
    </body> 
</html> 

content.php

<?php 
include "contentids.php"; 
$contentid=$_GET['contentid']; 
if(trim($contentid)=="") { 
    $contentid=$_POST['contentid'];} 

if($contentfile=$content[$contentid]){ 
    echo "contentfile = ".$contentfile."<br>"; 
    include $contentfile; 
} 
?> 

contentids.php

<?php 
$content['filme']="films.php"; 
?> 

образец из films.php

<center><h1>FILME</h1></center> 
<?php 
for ($i=65;$i<=90;$i++) { 
$buchstabe=chr($i); 
echo "<a href=\"".$PHP_SELF."?contentid=".$contentid."&letter=".$buchstabe."".$sessiontag."\">$buchstabe</a> | "; 
} 

Aways получает следующее сообщение об ошибке:

Undefined индекс: ContentID в C: \ My PROGS \ WAMP \ WWW \ content.php на линии 3, 5 и 7

Я использовал эту систему раньше, но я c не найти решение, какие-либо намеки?

Спасибо большое!

+0

Вы являетесь этой переменной '$ contentid = $ _ GET ['contentid'] ;, но я не вижу нигде, где GET находит эту информацию. I Ваша форма не определяет его, а также другие ваши файлы, поэтому переменная POST также сообщает об этом уведомлении. Обычно это будет определяться в поле формы с именем 'name =" contentid ", которое затем передается вашему URL-адресу, а затем GET будет отбирать его оттуда (однако, если вы не оставляете какой-либо код), он не был установлен , – nomistic

+0

Система должна работать без дополнительных форм (должна быть в url, я думаю), я просто не могу вспомнить, как я получил эту работу, возможно, что-то не хватает в contentids.php или content.php –

+0

где is 'contentid 'из ваших старых файлов? (тот, что находится в ваших GET * или * ваших переменных POST?), вы, кажется, где-то пропускаете файл. FYI: * это * именно поэтому, чтобы комментировать ваш код, когда вы пишете его в первый раз – nomistic

ответ

3
<?php 
include "contentids.php"; 
$contentid=isset($_GET['contentid']) ? $_GET['contentid'] : ''; 
if(trim($contentid)=="") { 
    $contentid=isset($_POST['contentid']) ? $_POST['contentid'] : ''; 
} 
if($contentfile=$content[$contentid]){ 
    echo "contentfile = ".$contentfile."<br>"; 
    include $contentfile; 
} 
?> 

У меня есть решить проблему 3 и 5 строки, но в 7 строке вы пытаетесь сравнить строку с массивом, а также ключ массива не возможно пустая строка, так что отображение Undefined индекс: ContentID Maby быть, вы можете попробовать объявить массив, такой как

$content = array(); 
+0

Я бы использовал '! Empty' над' isset', тогда вам не нужно будет проверять пустое значение позже. – chris85

+0

@ chris85 иногда '! Empty' не работает на сервере, поэтому лучше использовать обрезку –

Смежные вопросы