Gå til innhold

Mogleg å få vekk error frå logg?


Anbefalte innlegg

Har eit script som er slik:

 

<?

$send = $_GET["send"];

if ($send == "1")
{
function();
}
else
{
echo "Something";
}

?>

 

Kvar gong eg går innpå sida kjem det ein error i loggen til Apache som er slik:

 

[error] PHP Notice:  Undefined index:  send in /home/objorkum/public_html/objorkum/contact.php on line 5

 

Skjønar jo at det kjem av at $send ikkje er definert, men korleis skal eg hindre at det vert logga?

Lenke til kommentar
Videoannonse
Annonse

Skjer dette når $_GET["send"] ikke har noen verdi?

I så fall virker det som du/serveren kjører den anbefalte versjonen av php.ini. De fleste servere kjører uten å vise error av denne typen. Hvis det ikke er din server så kan du ikke endre php.ini, men du kan likevel hindre at erroren vises:

1. du kan gi variabelen verdien false

2. se error_reporting() i manualen og endre den til det du ønsker.

error_reporting(E_ALL ^ E_NOTICE) er den vanligste, den viser ikke feil av typen notice.

Lenke til kommentar

; - error_reporting = E_ALL        [Code Cleanliness, Security(?)]
;     By default, PHP surpresses errors of type E_NOTICE.  These error messages
;     are emitted for non-critical errors, but that could be a symptom of a bigger
;     problem.  Most notably, this will cause error messages about the use
;     of uninitialized variables to be displayed.

 

Forklarar ein del ja. Trur eg berre endrar php.ini.

Lenke til kommentar

Ein skal visst bruke isset på alle variablar i URL, ellers kjem den "erroren".

 

Har eit lite spørsmål som eg ikkje gidd å lage ny post på:

 

Om eg skal ha mykje HTML kode i echo, er det seigt å utkommentere alle " med \", er det mogleg å gjere det automatisk evt på ein annan måte?

Lenke til kommentar
Ein skal visst bruke isset på alle variablar i URL, ellers kjem den "erroren".

 

Har eit lite spørsmål som eg ikkje gidd å lage ny post på:

 

Om eg skal ha mykje HTML kode i echo, er det seigt å utkommentere alle " med \", er det mogleg å gjere det automatisk evt på ein annan måte?

Bruk echo 'Blabla "osv" osv..';, så slipper du å escape fnuttene.

Endret av Loomy
Lenke til kommentar

Husk at

echo '$variabel';

skriver teksten "$variabel" rett ut, mens

echo "$variabel";

skriver verdien til variabelen, slik det er ment å gjøre. Hvis du skal ha en streng med enkle fnutter rundt og samtidig printe ut variabelverdien, kan du bruke flere strenger med . i mellom:

 

echo 'Varen koster ' . $pris . ' kroner.';

Endret av jorgis
Lenke til kommentar
  • 2 år senere...
Husk at
echo '$variabel';

skriver teksten "$variabel" rett ut, mens

echo "$variabel";

skriver verdien til variabelen, slik det er ment å gjøre. Hvis du skal ha en streng med enkle fnutter rundt og samtidig printe ut variabelverdien, kan du bruke flere strenger med . i mellom:

 

echo 'Varen koster ' . $pris . ' kroner.';

3502988[/snapback]

Med å bruke . vil strengen først bli lagt sammen til én streng før den blir printet ut med echo.

En bittelitt raskere måte å gjøre det på er ved å bruke komma istedenfor punktum.

echo 'Varen koster ' , $pris , ' kroner.';

Echo funsjonen vil da (så vidt jeg har skjønt) skrive ut koden hver for seg uten å lage en string først.

 

Å bruke enkeltfnutter vil også være bittelitt raskere enn dobbeltfnutter siden skriptet da ikke trenger å late etter variabler i strengen. (Smart f.eks. på lengre html kode.)

Lenke til kommentar

<?

 

$send = $_GET["send"];

$send = isset($_GET["send"]) ? htmlentities($_GET["send"]) : "";

// Slik ville jeg ha skrevet linjen.

// med htmlentities vil du fjæren muligheten for hacking via $_GET.

 

if ($send == "1")

{

function();

}

else

{

echo "Something";

}

 

?>

 

 

Jaja, jeg så ikke nårtid dette innleget ble startet, bare at det var blitt svart på før i dag.

Endret av Hobbyhorse
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...