Avatar billede kviller Novice
27. maj 2004 - 00:50 Der er 13 kommentarer og
1 løsning

Configuration af php.ini

Jeg har lige instaleret apache web server, mysql samt php på min maskine, da jeg har behov for at lave nogen websites hvor jeg ikke kan være på nettet. Jeg har dog et problem med min installation. Alt ser ud til at virke som det skal med mine php scripts osv, der er dog en KÆMPE fejl, den vil ikke overføre variabler. F.eks. hvis jeg laver et lille script som dette:

<?php if (isset($update)){
    echo $nyhed;
    }; ?>

<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post" name="send">
  <textarea name="nyhed" cols="60" rows="10" id="nyhed">hejsa</textarea>
  <input name="update" type="hidden" value="update"> 
  <input type="submit" name="Submit" value="Update">
</form>

Så burde den jo overføre variablen $nyhed til sig selv og kunne echo denne, men der kommer ingen variabler med over, det gør der dog lige så snart jeg overføre den til et andet webhotel, så jeg er klar over det er min server der har problemet. Enten apache eller php.

Nogen gode idéer?
Avatar billede kviller Novice
27. maj 2004 - 00:51 #1
Jeg glemte lige at skrive at jeg bruger den php.ini der er "recommended"
Avatar billede technodance.dk Nybegynder
27. maj 2004 - 00:53 #2
du har nok reg til ON så skal du bruger $_post[nyhed]
Avatar billede technodance.dk Nybegynder
27. maj 2004 - 00:54 #3
<?php if (isset($update)){
    echo $_POST[nyhed];
    }; ?>
Avatar billede technodance.dk Nybegynder
27. maj 2004 - 00:54 #4
<?php if (isset($_POST[update])){
    echo $_POST[nyhed];
    }; ?>
Avatar billede kviller Novice
27. maj 2004 - 00:59 #5
Det hjælper ikke. Den registrere slet ikke at $update bliver sat, den overføre slet ingen variabler når jeg trykker submit. Denne lille side var bare lige en lille en jeg lavede for at teste med. Selv hvis jeg skriver
<?php if (isset($update)){
    echo "Bare et eller andet";
    }; ?>
Kommer det slet ikke ud, så den vil bare ikke tage dem med over når jeg har trykket
Avatar billede Slettet bruger
27. maj 2004 - 01:06 #6
<?php if (isset($_POST['update'])){
    echo $_POST['nyhed'];
    }; ?>
Avatar billede kviller Novice
27. maj 2004 - 01:08 #7
Det virkede så, men hvordan får jeg det lavet så jeg kan gøre det uden $_POST og bare bruge mine variabler som jeg plejer at kunne på mit webhotel?
Avatar billede Slettet bruger
27. maj 2004 - 01:11 #8
Det skal du ikke.

Det forleder dig til at skrive usikker kode, og der er god grund til at det er blevet standard at have register_globals slået fra i nyere udgaver af PHP.

Det er meget bedre at vænne dig til at lave kode, der virker på en korrekt opsat server, for det vil også virke på den anden. (Og du kan risikere, at du pludselig vil skifte til et andet hotel, der har den slået fra.)
Avatar billede kviller Novice
27. maj 2004 - 01:16 #9
Arf ok, det må jeg jo så prøve på, det kræver godt nok lidt omstilling, da jeg er vandt til den anden måde nu, samt jeg skal have lavet en masse om.
Kan I ikke lige skrive et svar begge 2 da I jo begge har hjulpet og haft ret, vil jeg dele points imellem jer.
Avatar billede Slettet bruger
27. maj 2004 - 01:24 #10
Kommer her.

Min kode var forresten næsten magen til det sidste forslag fra technodance.dk. Den eneste forskel var de små gnyffer om navnene. De skal være der, og det er en fejl at udelade dem. (Men php vil normalt gætte hvad man prøver på, og gøre det rigtige - og technodance.dks forslag ville også have virket.)
Avatar billede kviller Novice
27. maj 2004 - 01:31 #11
Løb allerede ind i et problem, hvad når jeg så skal :
"INSERT INTO nyhed (nyhed) VALUES ('$nyhed')"
Der kan man jo ikke gøre
"INSERT INTO nyhed (nyhed) VALUES ('$_POST['nyhed']')"
Avatar billede Slettet bruger
27. maj 2004 - 01:38 #12
Det er undtagelsen, der bekræfter regelen. Du kan enten gøre således:

"INSERT INTO nyhed (nyhed) VALUES ('$_POST[nyhed]')"
Det er nemlig korrekt inde i en streng, men jeg kan ikke lide det.

Eller
"INSERT INTO nyhed (nyhed) VALUES ('{$_POST['nyhed']}')"
Den plejer jeg at bruge.

Eller
"INSERT INTO nyhed (nyhed) VALUES ('". $_POST'[nyhed'] ."')"

Eller
$nyhed=$_POST['nyhed'];
og derefter bruge $nyhed som du plejer.
Avatar billede Slettet bruger
27. maj 2004 - 01:39 #13
Og der er garanteret et par metoder eller ti, som jeg har overset.
Avatar billede kviller Novice
05. juli 2004 - 19:30 #14
Ups havde glemt at give dig points. Sorry.... Mange tak for hjælpen
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