Avatar billede julle Nybegynder
16. juni 2003 - 03:11 Der er 11 kommentarer og
1 løsning

Hjælp til Apache 2.0 eller er det php'en det er galt med?

Hello :o)

Jeg har lige opgraderet min gode gamle Apache 1.3 til en 2.0. Har fået php og mysql til at virke og det hele!

MEN! - Hvorfor kan serveren ikke finde ud af feks.

<?

if($navn) { print"


Hej $navn
";}
else

{ print"
<form method=\"get\" action=\"index.php\">
Indtast navn: <input name=\"navn\"><br>
<input type=\"submit\" value=\"send\">

</form>"; }

?>

den skriver bare til bare til browseren: Hej

I adr linje står der: index.php?navn=Julle

?!?!?!?!?
Avatar billede ahv Nybegynder
16. juni 2003 - 03:17 #1
if($_POST['navn']) { print"


Hej $_POST['navn'];
";}


?
Avatar billede ahv Nybegynder
16. juni 2003 - 03:17 #2
if($_GET['navn']) { print"


Hej $_GET['navn'];
";}
Avatar billede ahv Nybegynder
16. juni 2003 - 03:19 #3
I nyere versionere er registre_globals som default sat til off, hvilket vil sige du skal tilgå nogle variabler på en anden måde en før:

$_POST['varname'] = variabler der er blevet sendt via en FORM med method="POST"
$_GET['varname'] = variabler fra adresselinien, eg: index.php?side=index
$_COOKIE['varname'] = variabler fra cookies
$_REQUEST['varname'] = alle de tre ovenstående samlet i en
$_SESSION['varname'] = variabler fra sessions
$_ENV['varname'] = servervariabler om "enviroment" ting (brugerens IP)
$_SERVER['varname'] = ass. servervariabler som fx PHP_SELF
Avatar billede ahv Nybegynder
16. juni 2003 - 03:25 #4
Din kode kan også omskrives til:

<?php
if (isset($_GET['navn'])) {
    echo "Hej $_GET[navn]";
} else {
    echo "<form method='get' action='test.php'>";
    echo "Indtast navn: <input name='navn'><br>";
    echo "<input type='submit' value='send'>";
    echo "</form>";
}
?>

Hvilket ser lidt mere overskueligt ud efter min mening.
Avatar billede ahv Nybegynder
16. juni 2003 - 03:32 #5
Hov:

<?php
if (isset($_GET['navn'])) {
    echo "Hej $_GET[navn]";
} else {
    echo "<form method='get' action='index.php'>";
    echo "Indtast navn: <input name='navn'><br>";
    echo "<input type='submit' value='send'>";
    echo "</form>";
}
?>
Avatar billede thomasledet Nybegynder
16. juni 2003 - 13:36 #6
det skal lige nævnes, at det ikke er apache, der har ændret sig fra version 1.3 til 2.0, men der i mod php.
Avatar billede julle Nybegynder
16. juni 2003 - 17:47 #7
Fuck nu hvordan koden er skrevet, det var bare lige for at give et eksempel på hvad mit problem var.

Men hvor kan jeg rette det, så den kan tage imod data fra adr linije?!?
Avatar billede ahv Nybegynder
16. juni 2003 - 22:34 #8
Den kan godt tage imod data fra url'en ->
En url kunne være "http://www.exp.dk/side=123"

for at få fat på sode variablen ->
$_GET['side']

thomasledet ->
Ups, ja det fik jeg vist ikke gjort helt tydeligt.

julle ->
Hvis du stadig ønsker at tilgå dem på den gamle måde (anbefefales ikke) kan dette rettes i php.ini filen
Avatar billede thomasledet Nybegynder
17. juni 2003 - 00:52 #9
men der er en grund til at php er gået væk fra dette... jeg vil bestemt heller ikke anbefale at tvinge php til at gøre det på "den gamle måde". jeg ville i stedet rette min kode til, så den virker...
Avatar billede julle Nybegynder
17. juni 2003 - 11:35 #10
Jah, det er bare lidt meget for mig at lave 4 hjemmesider om en et shop system pga, det.

Men ingen der ved hvor jeg skal rette det? Jeg kan ikke finde det i php.ini som skal rettes?
Avatar billede ahv Nybegynder
17. juni 2003 - 12:02 #11
I php.imi står der:

; You should do your best to write your scripts so that they do not require
; register_globals to be on;  Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = off

Ret off til on, restart apache.
Avatar billede julle Nybegynder
17. juni 2003 - 18:37 #12
1000 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
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

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