Gå til innhold

Fjerne irriterende "Notice: undefined Index..."


Anbefalte innlegg

Skrevet

Hei!

 

Jeg har litt trøbbel med en notis som dukker opp på framsiden. Jeg har brukt et Include-script fra Epleweb for å inkludere undersider i Indexfila. Scriptet i seg selv fungerer helt som det skal.

 

Det er bare det at det hver gang du åpner websiden dukker denne irriterende meldingen opp: Notice: Undefined index: page in D:\www\janmer\index.php on line 76.

 

Jeg har lest litt rundt på forumet og fant at det skyldes muligens en glipp i koden, men løsningen de brukte i det tilfellet ser ut til å være brukt her også, men litt lenger ned i koden. Linje 76 ser slik ut:

$cat1	= $_GET['page'];	/* Example: http://www.dot.com/index.php?cat1=mypage */

Den linjen er der bare for å definere en kategori. Kan liksom ikke helt se hvor feilen skal være der. Sender med resten av koden under.

 

<?php

// 2-variables Page Include PHP-script
// Version 1.1
// By www.epleweb.tk


// CONFIGURATION
$dir1  = "./";  	/* The directory where all the pages for category 1 are */
$dir2  = "./";  	/* The directory where all the pages for category 2 are */
$mainpage	= "./main.php";	/* Main page that is included if neither cat1 nor cat2 is defined in the URL */
$fileext	= ".php";  	/* File extension for all pages and tutorials. ".php" by default */
$error404	= "<h2>Feil 404</h2><p>Siden du ser etter finnes ikke, meld i fra om dette så feilen blir fikset.</p>"; /* Error message displayed when a page doesnt exist */

/* Change the word inside the [' and the '] as you like. I.e ['page'] or ['id'] or ['section'] or whatever */
$cat1	= $_GET['page'];	/* Example: http://www.dot.com/index.php?cat1=mypage */
/* $cat2	= $_GET['cat2']; /*	/* Example: http://www.dot.com/index.php?cat2=mypage */

// END OF CONFIGURATION

// If cat1 is defined in the URL:
if (isset($cat1)) {
$cat1 = stripslashes(strip_tags($cat1));
$forbidden1 = ereg("\.\./", $cat1);
$forbidden2 = ereg("/", $cat1);
$includepath= $dir1 . "/" . $cat1 . $fileext;

if ($forbidden1 || $forbidden2) {
 echo "<h2>Error</h2>";
 echo "<p>Could not include page. Only local files may be included</p>";
}
else {
 if (@fopen("$includepath", "r")) {
 	include ("$includepath");
 }
 else {
 	if (!(@fopen("$includepath", "r"))) {
   echo "$error404";
 	}
 }
}
}
// If cat2 is defined in the URL:
elseif (isset($cat2)) {
$cat2 = stripslashes(strip_tags($cat2));
$forbidden1 = ereg("\.\./", $cat2);
$forbidden2 = ereg("/", $cat2);
$includepath= $dir2 . "/" . $cat2 . $fileext;

if ($forbidden1 || $forbidden2) {
 echo "<h2>Error</h2>";
 echo "<p>Could not include page. Only local files may be included</p>";
}
else {
 if (@fopen("$includepath", "r")) {
 	include ("$includepath");
 }
 else {
 	if (!(@fopen("$includepath", "r"))) {
   echo "$error404";
 	}
 }
}
}
// If no category is defined in the URL:
else {
include ("$mainpage");
}
?>

 

Bare si ifra om det trengs flere opplysninger. Setter pris på tilbakemelding om hva feilen kan være.

 

Jan Ingar.

Videoannonse
Annonse
Skrevet (endret)

Uff *mumle noe om servere som er overivrige til å rapportere "feil"*

 

Men det er heldigvis en meget enkel løsning:

Endre

$cat1 = $_GET['page'];

til

$cat1 = @$_GET['page'];

Endret av Loomy

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...