Gå til innhold

Trenger hjelp. (Feilmelding, kan være server)


Anbefalte innlegg

Hallo!

Jeg har et lite problem med et script jeg har funnet (en her på hw som har laget det) men jeg får en feilmelding jeg ikke har sett før. Trenger hjelp litt raskt.

 

Jeg får opp denne feilmeldingen:

Notice: Undefined index: i in D:\webroot\wwwroot\ungdom\scripts.php on line 18

Hva er det som er feil. Har det noe med serveren å gjøre? Jeg har nettop byttet server og har ikke hatt problemet før nå.

 

Mvh Doffar

 

EDIT: Jeg byttet fra LINUX til WIN server.

Og feilen kommer bare når jeg kjører "hovedsiden", men ikke på andre "include"-sider.

Legger ved scriptet slik at det kanskje er lettere å se feilen:

<?php
function inclusion($dir = './', $suffix = '.php', $defaultside = 'hoved' , $includeparameter = 'i')//Inkluderingsscriptet//
{
$ex = array('.', '..'); //filer som skal strippes \ viktig /

//Hvis  parameter $dir er ei mappe og det går an å lese fra den, lag et array med liste over alle filer
if (is_dir($dir) && $dh = opendir($dir))
{
     while (($file = readdir($dh)) !== false)
     {
      if(in_array($file, $ex)){continue;}
         $allowed_files[] = $file;
     }
     closedir($dh);
}

//få directory fra bruker
$include = $_GET[$includeparameter];
//strippe potensielle farer
$include = str_replace(array('..', '//', 'ftp'), '', $include);
$include = strtolower($include);

  if(in_array($include . $suffix, $allowed_files))
  {

      include($dir . $include . $suffix);

  }
  else
  {
  //fila som blei forespurt av brukeren finnes ikke i arrayet
  
  //hvis brukeren i det heletatt har skrevet inn ei side for å inkludere
      if($_GET[$includeparameter])
      {

          //hvis brukeren har blitt videresend, e.g. trykt på en link
          if($_SERVER['HTTP_REFERER'])
          {

              echo '<div>øhh, det virker som om linken du trykte på, ikke virka. Feilen vil bli retta så fort som 

mulig.</div>';

          }
          else
          {
          //hvis brukeren har skrevet inn adressen manuelt

              echo 'Sorry, sida du skreiv inn finnes ikke. Gå tilbake til <a 

href="http://www.ptb.no/ungdom/">hovedsida</a>';

          }
      

      }
      else
      {
      //hvis brukeren ikke har skrevet inn adresse / trykt på lenke, og fila ikke finnes i array. E.g. startsida
          include($dir . $defaultside . $suffix);
 }
}


}//end function


?>

Endret av Doffar
Lenke til kommentar
Videoannonse
Annonse

Er ikke så veldig flink med sånt. :blush: Jeg får bare at det er feil på den linjen jeg legger det inn på.

Dette er sånn jeg har lagt det inn:

<?php error_reporting(0)
function inclusion($dir = 

Får feil hvis jeg legger det inn alene på linjen under også.

 

EDIT: Takk for raskt svar :)

EDIT: Fant det ut. Hehe. Litt hektisk her så jeg glemte ";".

Endret av Doffar
Lenke til kommentar

Hint:

error_reporting(0) slår vel helt av alle feilmeldinger, inkl. de du burde se.

Bruk error_reporting(E_ALL ^ E_NOTICE);

 

Send også en mail til webhosten (webhotellet) ditt å si fra at de kjører uvanlige instillinger på serveren. Dette er sikkert en glipp fra de, og de burde rette det. Hvis ikke vil mange tusen ferdige scripts vise unødvendige feilmedinger.

Endret av ????????
Lenke til kommentar

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...