Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 13:45 Der er 25 kommentarer og
2 løsninger

Notice - slå det fra.

Hejza allesammen. Jeg kigge noget af min gamle koder igennem og fandt noget jeg kunne genbruge. Kan huske det virkede sidst, men når for jeg lige pludselig en Notice. Det altså den gamle koder som lige pludselig melder fejl?
Er det ikke noget med man kan slå Notice fra, også det nogen gange virker?

På forhånd tak
//Madsen
Avatar billede htm Nybegynder
18. januar 2004 - 13:46 #1
Hvis du har adgang til serverens confg er det skal din error_reporting se sådan ud i php.ini

error_reporting  =  E_ALL & ~E_NOTICE
Avatar billede limemedia Nybegynder
18. januar 2004 - 13:47 #2
eller i toppen af dit PHP dokument
ini_set('display_errors', '0');
Avatar billede erikjacobsen Ekspert
18. januar 2004 - 13:48 #3
Du skulle hellere rette fejlene ;)
Avatar billede htm Nybegynder
18. januar 2004 - 13:49 #4
Eller i .htaccess

php_value error_reporting 2039

Men som erik siger, der er en grund til at der kommer notice, du skulle tage og rette de fejl.
Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 13:50 #5
Erikjacobsen. HEHE problemmet er jeg ikke kan finde nogen fejl :D
Avatar billede htm Nybegynder
18. januar 2004 - 13:52 #6
Du skal bare se på hvad fejlen siger og hvilken linie den melder fejl i... :-)
Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 13:54 #7
Htm -- > Helt dum er jeg ikke :D .. I for lige linjen:
echo $Design2; :D .
Den vil her udskrive en masse sammensat. Det her jeg ikke kan finde nogen..
Avatar billede htm Nybegynder
18. januar 2004 - 13:55 #8
Prøv og post koden lige før og lig efter den linie og post fejlen som den er.
Avatar billede htm Nybegynder
18. januar 2004 - 13:56 #9
Men det er sikkert noget med "hov hov, du prøver og udskrive en variabel der ikke findes."
Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 13:56 #10
Hele mit dokument ser sådanne ud. Connect er okay, og det er system.php også..:

<?php
include("php\connect.php");
mysql_select_db("cms");
$res2 = mysql_query("SELECT * FROM opsetning2 where id = '1'");
$row = mysql_fetch_array($res2);
$Design_hent = "design/".$row['ind']."/system.php";
function Menu_Data() {
global $Design;
global $strMenu_Total;
$Design = "";
$res2 = mysql_query("SELECT * FROM menu10 order by plads asc");
include($Design_hent);
while($row = mysql_fetch_array($res2)) {
If ($row['ikon'] == "intet") {
$strIkon = "&nbsp;";
} elseif (ereg("\[",$row['ikon'])) {
$strIkon = str_replace("[","", $row['ikon']);
} else { $strIkon = "<img src=\"ikoner/" .$row['ikon'] ."\">";}
$strInside .= $start_menu_punkt .$strIkon .$mellem_menu_punkt ."<a href=\"".$row['til'] ."\">" .$row['text'] ."(" .$row['plads'] .")(" .$row['id'] .")</a>" .$slut_menu_punkt;
}
$strMenu_Total = $start_menu .$strInside .$slut_menu;
$strTekst ="Dette er main vinduet...";
$Design = str_replace("<--Menu-->", $strMenu_Total, $Design);
$Design = str_replace("<--Tekst-->", $strTekst, $Design);
}
echo $Design;
echo mysql_error();
?>
Avatar billede fangel Nybegynder
18. januar 2004 - 13:58 #11
fejlene er der... og det er nok en af disse (artikel ikke helt færdig endnu)

http://mfa.ath.cx/coding-habits.php (link til min workstation, ikke oppe 24/7)

Morten
Avatar billede htm Nybegynder
18. januar 2004 - 14:01 #12
og fejlen...
Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 14:02 #13
Så skal der fanme sættes mange :
if (isset($var)) {
  echo "This var is set set so I will print.";
}

Ind.. Eller er der kun et sted du tænker på?

//Madsen
Avatar billede fangel Nybegynder
18. januar 2004 - 14:05 #14
du kan jo nøjes med at lave det første gang... det er hver gang du er usikker på om variablen kan være sat

især bruges det til at se om folk har skrevet ?noget=nogetandet i add. linie - hvilket giver en notice hvis ikke den får en isset()

Morten
Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 14:07 #15
Det hjælper ikke ret meget.. Her den nye kode:
<?php
include("php\connect.php");
mysql_select_db("cms");
$res2 = mysql_query("SELECT * FROM opsetning2 where id = '1'");
$row = mysql_fetch_array($res2);
$Design_hent = "design/".$row['ind']."/system.php";
function Menu_Data() {
global $Design;
global $strMenu_Total;
$Design = "";
$res2 = mysql_query("SELECT * FROM menu10 order by plads asc");
include($Design_hent);
while($row = mysql_fetch_array($res2)) {
If ($row['ikon'] == "intet") {
$strIkon = "&nbsp;";
} elseif (ereg("\[",$row['ikon'])) {
$strIkon = str_replace("[","", $row['ikon']);
} else { $strIkon = "<img src=\"ikoner/" .$row['ikon'] ."\">";}
$strInside .= $start_menu_punkt .$strIkon .$mellem_menu_punkt ."<a href=\"".$row['til'] ."\">" .$row['text'] ."(" .$row['plads'] .")(" .$row['id'] .")</a>" .$slut_menu_punkt;
}
$strMenu_Total = $start_menu .$strInside .$slut_menu;
$strTekst ="Dette er main vinduet...";
$Design = str_replace("<--Menu-->", $strMenu_Total, $Design);
$Design = str_replace("<--Tekst-->", $strTekst, $Design);
}

Menu_Data();
echo $Design;
echo mysql_error();
include("php\luk.php");
?>

Som kan ses her:
http://80.160.115.231/rasmus/cms+/
Avatar billede fangel Nybegynder
18. januar 2004 - 14:13 #16
ahh - en ganske basal fejl...

se dette ex:

$variabel = "lala";
function foo(){
  echo $variabel;  // fjeler
}
function bar(){
  global $variabel;
  echo $variabel;  // virker
]

du mangler at gøre $Design_hent global, så din include() kan finde ud af hvilken siden den skal inkludere... !

Morten
Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 14:20 #17
takker nu virker det næsten.. Men der er lige en fejl mere.. Vil du ikke også hjælpe mig med den, hvis du for 60 points i alt?
Avatar billede htm Nybegynder
18. januar 2004 - 14:24 #18
du siger $strInside .= som betyder at den skal eksisterer i forvejen og så tilføj til denne.

Kan ikke lige se den bliver brugt før den sætning, så bare fjern .

$strInside = $start_menu_punkt .$strIkon .$mellem_menu_punkt ."<a href=\"".$row['til'] ."\">" .$row
Avatar billede fangel Nybegynder
18. januar 2004 - 14:24 #19
første gang du kører denne

$strInside .= $start....

linie brokker den sig over at den skal lægge noget variablen $strInside som ikke findes... i starten af din funktion skriver du således bare

$strInsine = '';

for så findes den jo

Morten
Avatar billede fangel Nybegynder
18. januar 2004 - 14:25 #20
htm -> den er jo inde i while() løkken - så det vil ikke være lykke.. (get it.. i løkken er ikke lykken)

gør som jeg skriver istedet

Morten
Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 14:26 #21
Takker :d .. Hvem skal have pointsne.. Htm har jo hjulpet til men har kun brugt dea pg svar?
Avatar billede htm Nybegynder
18. januar 2004 - 14:28 #22
dea_pq>> Ja selvfølgelig, havde jeg ikke lige set. Lidt svært at oveskue kode :-)
Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 14:31 #23
er det ok Dea pg fo pointsne?
Avatar billede fangel Nybegynder
18. januar 2004 - 14:33 #24
du må godt give htm lidt..

htm -> sidebemærkning... du bør ikke bruge nummeriske værdier til error_reporting, konstanterne kan ændres (tjek selv man. der står det også)

og god karma er aldrig af vejen ;)

Morten
Avatar billede rasmus-madsen Nybegynder
18. januar 2004 - 14:35 #25
dea_pg--> så der kommet karma fra min side :D
Avatar billede htm Nybegynder
18. januar 2004 - 14:39 #26
dea_pq>> Mener da at de nummeriske værdier for erros ikke ændrer sig, der kan komme flere på, men de betyder da stadig det samme?
Avatar billede fangel Nybegynder
18. januar 2004 - 14:41 #27
htm -> fra manuelen (http://php.net/error_reporting): "Using named constants is strongly encouraged to ensure compatibility for future versions."

Morten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester