Avatar billede nicocarlos Nybegynder
26. august 2003 - 22:56 Der er 14 kommentarer og
2 løsninger

Notice som jeg ikke vil have der!!

Notice: Use of undefined constant brugernavn - assumed 'brugernavn' in login2.php on line 3

Notice: Use of undefined constant password - assumed 'password' login2.php on line 4

mit script virker som det skal men hvorfor kommer den notice??
Avatar billede nicocarlos Nybegynder
26. august 2003 - 22:58 #1
her er linierne!
$brugernavn = $_POST[brugernavn];
$password = $_POST[password];
Avatar billede spunk13 Nybegynder
26. august 2003 - 22:58 #2
$brugernavn = $_POST['brugernavn'];
$password = $_POST['password'];
Avatar billede Slettet bruger
26. august 2003 - 22:58 #3
$brugernavn = $_POST['brugernavn'];
$password = $_POST['password'];
Avatar billede spunk13 Nybegynder
26. august 2003 - 22:59 #4
;)
Avatar billede michael_stim Ekspert
26. august 2003 - 22:59 #5
i må nok dele pointene :D
Avatar billede Slettet bruger
26. august 2003 - 23:00 #6
Og iøvrigt må jeg rose din PHP opsætning. Der er få der vælger at vise NOTICE's. Men det er en rigtig god idé. Aner du ikke, hvad jeg snakker om, så skal du bare være glad for opsætningen.

Eller læse: http://dk.php.net/manual/en/ref.errorfunc.php
Avatar billede tipsen Nybegynder
26. august 2003 - 23:01 #7
Den notice (notits) kommer fordi fejl-rapporteringen i php.ini (eller i scriptet) er sat til "skrappeste" niveau - dvs. alle småting bliver rapporteret - deriblandt ovenstående som er en typisk "fejl" blandt php-newbies - hvor man "glemmer" anførselstegn rundt om teksten - hvorfor php først kigger efter en konstant med det pågældende navn og derefter gætter på at programmøren blot har glemt "" og derefter gætter på variablen som i dette tilfælde.
Avatar billede tipsen Nybegynder
26. august 2003 - 23:02 #8
Som mercur, vil jeg da også lige rose opsætningen - du vil være blandt de få der kan lære at skrive korrekt php-kode, hvis du fortsætter med denne opsætning - det er der ikke mange der kan/gør.
Avatar billede nicocarlos Nybegynder
26. august 2003 - 23:04 #9
tak, mercur er ikke helt sikker på hvad du mener, jeg er helt ny til php :)
Prøver at lære det, men har lidt svært ved det..med det har alle vel fra starten :) tak for svarene de Hurtige svar
Avatar billede nicocarlos Nybegynder
26. august 2003 - 23:06 #10
også tak til tipsen for den gode forklaring.
Avatar billede fangel Nybegynder
26. august 2003 - 23:14 #11
en lille crach-curse i notices...

der kommer ofte notices fordi:

1) man glemmer at bruge citationstegn rundt om strenge i arrays - eg $arr[key] vs $arr['key]

2) man testet direkte om en variabel er sat - eg if($var) vs if(isset($var))

disse fejl er 2 'dumme' fejl, og bør altid laves på 'den rigtige' måde!

---

forklaring på 1)

som tipsen er inde på, så er det fordi der findes en form for variabler - som ikke er variable - disse laves ved hjælp af define() funktionen!

fx:

define("PASWD", "password");
echo $arr[PASWD];

vil ikke komme med fejl, men hente $arr['password'] - fordi konstanten faktisk er defineret! - men der er meget få personer der bruger konstanter, så det er nemmere at huske at tilføje '-tegn rundt om hver gang!

---

forklaring til 2)

mange tester om en form er blevet submittet ved at gøre sådan her:

if($variabel_fra_formen){

men for at undgå notices skal man bruge funktionen isset() - altså

if(isset($variabel_fra_formen)){

---

desuden er det altid en god ide at køre med register_globals = oog - du kan få en forklaring hvis du vil...

Morten
Avatar billede nicocarlos Nybegynder
26. august 2003 - 23:17 #12
Mange tak for forklaring morten, men jeg venter lidt med register_globals = oog - forklaringen... ellers tak :)
Avatar billede fangel Nybegynder
26. august 2003 - 23:20 #13
hov, skal slf være register_globals = off

Morten
Avatar billede nicocarlos Nybegynder
26. august 2003 - 23:35 #14
håber stadig i kigger; fik problemer med det:
Notice: Undefined index: brugernavn in \login2.php on line 3

Notice: Undefined index: password in \login2.php on line 4

nu kan jeg ikke se problemet jeg har ændret det
Avatar billede Slettet bruger
26. august 2003 - 23:38 #15
$brugernavn = isset($_POST['brugernavn']) ? $_POST['brugernavn'] : NULL;
$password = isset($_POST['password']) ? $_POST['password'] : NULL;

Men istedet for vi skal rette alle de notice's fejl, så burde du selv lige prøve at sætte dig ind i, hvad det går ud på. Du har endda fået en del forklaringer.
Avatar billede nicocarlos Nybegynder
26. august 2003 - 23:42 #16
tak, sry var lidt træt og ville have fixed det inden jeg gik i seng
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