Avatar billede tanzaweb Nybegynder
13. marts 2005 - 11:16 Der er 11 kommentarer og
1 løsning

Undefined variable: sub

Hej

Jeg får følgende fejl

Notice: Undefined variable: sub in d:\web\netAdmin\news_admin.php on line 36

i denne linje: <?php if ($sub=='manage'){ ?>

Har brugt den mange gange før uden problem, men på denne server ser det åbenbart ikke godt ud, sel om jeg i bøgerne ikke kan finde fejlen.
Nogen der kan hjælpe?

Mads
Avatar billede detox Nybegynder
13. marts 2005 - 11:28 #1
<?php if (isset($sub) && $sub=='manage'){ ?>

eller:

<?php if (!empty($sub) && $sub=='manage'){ ?>
Avatar billede michael_stim Ekspert
13. marts 2005 - 11:34 #2
Eller $_POST['sub'] hvis den kommer fra en form.
Avatar billede stalle Nybegynder
13. marts 2005 - 11:37 #3
eller $_GET['sub'] hvis den kommer fra adresselinien
Avatar billede tanzaweb Nybegynder
13. marts 2005 - 12:07 #4
well ($_GET['sub'] virkede, og det gjorde <?php if (isset($sub) && $sub=='manage'){ ?> også
men hvad gør jeg med denne, <?php if (isset($sub)) { ?> her tester jeg jo at hvis der ikke er en $sub så skal den vise koden derefter, men det gør den ikke? hvad skal man så bruge istedet, har også her prøvet flere ting, inkl set om jeg kunne finde noget i PHP4 bogen
Avatar billede michael_stim Ekspert
13. marts 2005 - 12:11 #5
(isset($_GET['sub']) && $sub=='manage')
Avatar billede tanzaweb Nybegynder
13. marts 2005 - 12:28 #6
ja, den virker for manage og andre sub dele men jo ikke hvis der ikke er nogen $sub
, så siger de andre jo også at der ikke er noget index til sub.
Hvis jeg så klikker på linket med Manage så forsvinder den del ikke som ligger herefter: if (!isset($sub)) {
se noget af koden her:

if (!isset($sub)) { ?>

                  <p class="header1">Nyheds Admin</p>
                  <table width="100%" border="0" cellspacing="0" cellpadding="5">
                      <tr>
                        <td valign="top" class="normal" height="100%">
                        <b>Dette er administrations siden for nyheder.</b><br />
                        <br />
                        For at tilføje nyheder eller rette de nuværende nyhder skal du trykke på et af de nedstående links.<br />
                        <br />
                        For at tilføje nyheder <a href="<?php echo $_SERVER['PHP_SELF']; ?>?sub=new">tryk her.</a><br />
                        <br />
                        Hvis du skal redigere eller slette nyhederne skal du først gå hertil 
                        <a href="<?php echo $_SERVER['PHP_SELF']; ?>?sub=manage">Administrer nyheder</a> og vælg den nyhed du vil
                        redigere eller slette.<br /><br />
                        </td>
                      </tr>
                      <tr>
                          <td class="normal">
                        <br />
                        <br />
                        <b>Skriv også navnet og emailen på nyheds scribenten.</b>
                        </td>
                    </tr>
                  </table>


<?php } ?>

<?php if ($_GET['sub']=='manage'){ ?>
<p class="header1">Nyheds Administration.</p>
<table width="100%" class="normal" cellspacing="0">
Avatar billede tanzaweb Nybegynder
13. marts 2005 - 13:12 #7
selv her laver den fejl:
Notice: Use of undefined constant mysql_query - assumed 'mysql_query' in d:\web\netAdmin\news_admin.php on line 114

mysql_query("INSERT INTO News(news_head,news_body,news_date,news_writer,writer_mail,approv)
        VALUES ('{$_POST['news_head']}','{$_POST['news_body']}',NOW(),'{$_POST['news_writer']}','{$_POST['writer_mail']}','{$_POST['approv']}')");
   
dette er linje 114    mysql_query or die(mysql_error());

Jeg har da aldrig haft så mange problemer med det før.
Avatar billede michael_stim Ekspert
13. marts 2005 - 13:16 #8
Du har mysql_query 2 gange. Flyt, or die(mysql_error()); op til den anden query.
mysql_query("INSERT INTO News(news_head,news_body,news_date,news_writer,writer_mail,approv).....)or die(mysql_error());
Avatar billede tanzaweb Nybegynder
13. marts 2005 - 13:35 #9
Tak det løste det problem, men også med nogen andre har jeg løst noget med:
if (!empty($_GET)) {
extract($_GET);
} else if (!empty($HTTP_GET_VARS)) {
extract($HTTP_GET_VARS);
}
men der er stadigvæk det problem her med at hvis jeg kommer fra en side uden en $sub så siger den på alle <?php if ($_GET['sub']=='manage'){ ?> at der er en Undefined variable: sub

hvordan løser jeg lige dette?
Avatar billede michael_stim Ekspert
13. marts 2005 - 13:46 #10
Det löser du jo med isset.
Avatar billede tanzaweb Nybegynder
13. marts 2005 - 13:57 #11
du er en redningsmand jeg var blevet forvirret efterhånden. så den rigtig person må gerne lige smide et svar for at få pointene
Avatar billede michael_stim Ekspert
13. marts 2005 - 13:58 #12
Lägger et svar ;o)
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