webForumDet fria alternativet

Ordna gamla script

PHP

26 svar · 526 visningar · startad av nanne

Medlem sedan dec. 19991 749 inlägg
Frågan#1

Tjo...

Har varit seg och inte uppdaterat mitt liv/PHP på länge och nu visar det sig ju det där med $_GET och $_SERVER var ett BIG problemo.

Jag har en sida som jag vill ha uppe och fungerande medans jag uppdaterar den till att fungera med det nya (som jag tycker är grejt). Har provat med att sätta register_globals = On men det blir error ändå.

Medlem sedan juli 2002131 inlägg
#2

men om du har register_globals satt till 1/on så skall variabler som vanligtvis åtkoms genom t.ex $_POST["variabel"] kunna nås med $variabel. hmm, undrar om jag förstått din fråga rätt...
vill du ändra från $HTTP_POST_VARS[] (har aldrig använt dessa, så rätta mig (snällt) om jag har fel) till $_POST[] eller har du tidigare använt register_globals som 1 och kört $variabel istället för $_POST["variabel"]?
nu kanske det blev lite stökigt här... förstår inte riktigt din fråga tror jag.

Medlem sedan dec. 19991 749 inlägg
#3

men men

Jag har inte använt $_POST och $_GET osv.. tidigare. Så om register_global=on skulle ha löst mitt problem så vette fan.

Jag testar igen. Jag har två php.ini på servern. Men jag har satt båda på on så.

Medlem sedan dec. 19991 749 inlägg
#4

va fan!

skulle varit under min tråd om ordna gamla scripts :(

Medlem sedan nov. 20014 054 inlägg
#5

Re: men men

nanne skrev:

Jag har inte använt $_POST och $_GET osv.. tidigare. Så om register_global=on skulle ha löst mitt problem så vette fan.

Jag testar igen. Jag har två php.ini på servern. Men jag har satt båda på on så.

Vad är ditt problem, blir det error när du använder dig av $_POST och $_GET?

Om så är så har det inget med register_globals = on eller off.

Jag har för mig att $_POST och $_GET infördes i PHP version 4, så har man en äldre version får man använda sig av $HTTP_POST_VARS och $HTTP_GET_VARS[].

Men vi förutsätter att du har PHP 4.

Ett script med $_POST och $_GET bör väl se ut så här:

<?php
// Vid formulärpostningar ex.
$sNamn = $_POST["namn"];  // namn från ett formulär el. liknande
$sEpost = $_POST["epost"]; // epost från ett formulär.

echo $sNamn . " har email: " .  $sEpost;

// Vid uppsnappning från länkar ex:
$intID = $_GET["sidid"]; // ID nummer i en databas ex.
$sSektion = $_GET["sektion"]; // en sektion kanske en mapp eller liknande
....

?>

:OO

Medlem sedan mars 2001593 inlägg
#6

vad är det för skillnad mellan $_GET["variabel"] och $_GET['variabel'] ???

Medlem sedan sep. 20011 086 inlägg
#7

$_GET["variabel"] är korrekt
$_GET['variabel'] och $_GET[variabel] funkar sålänge error-reporting inte är satt till E_ALL eller E_NOTICE

Medlem sedan mars 2001593 inlägg
#8

dags att börja ändra sina phpsidor då

Medlem sedan aug. 20002 975 inlägg
#9

$_GET['variabel'] är fullständigt korrekt, till och med att rekommendera.

Medlem sedan sep. 20011 086 inlägg
#10

hmm, kollade igenom manualen lite noggrannare,
$_GET["hej"] och $_GET['hej'] ska funka, $_GET[hej] funkar men bör inte användas
om $_GET[hej]

This is wrong, but it works. Then, why is it wrong? The reason is that this code has an undefined constant (bar) rather than a string ('bar' - notice the quotes), and PHP may in future define constants which, unfortunately for your code, have the same name. It works, because the undefined constant gets converted to a string of the same name automatically for backward compatibility reasons

Matte: varför ' och inte " ?

Medlem sedan aug. 20002 975 inlägg
#11

Matte: varför ' och inte " ?

Båda går lika bra och ibland passar den ena bäst och ibland den andra. Normalt kan man välja vilket man tycker passar bäst.

Det var mest ett polemiserande mot att överhuvudtaget använda apostrof.

Men en liten skillnad finns det. PHP kollar koden mellan citationstecken ( " ) om där finns några variabler att lägga in, medan den bara suger med sig det som finns mellan apostrofer ( ' ) som text, med andra ord skulle det gå yttepyttelite snabbare med '.

Skillnaden:

$uno = 22;
echo $array['bild$uno'];
echo $array["bild$uno"];
Medlem sedan dec. 19991 749 inlägg
#12

*himlar med ögonen*

jag har inte använt $_GET osv förut till mina script. Men nu iom PHP 4.1.X så är ju det standard. Jag har installerat PHP 4.3.X. Men mina gamla script fungerar inte fastän jag har ställt in register_globals=On

Vad göra? Det är viktigt att siten är uppe medans jag bygger om.

Medlem sedan aug. 20002 975 inlägg
#13

$_GET, $_POST etc fungerar lika bra när register_globals är On som när det är Off, så det måste vara något annat som spökar för dig.

Hur ser din kod ut, och vad får du för felmeddelande ?

Medlem sedan dec. 19991 749 inlägg
#14

Jag får inget felmeddelande alls. Men register_globals = On funkar inte. Alla mina variabler (från formulär, querystrings etc.) får nämligen inte några värden. Siten är oförändrad sen jag hade en gammal version av PHP så det är inget som jag har kodat som är konstigt.

när man ändrat php.ini så måste man väl starta om apache? Det har jag gjort flertalet gånger eller är det något som jag måste göra ytterligare?

Medlem sedan aug. 20002 975 inlägg
#15

Ändra till följande i din php.ini:

error_reporting = E_ALL

display_errors = On

Sen kan du göra ett skript med följande kod:

<?php phpinfo(); ?>

Den ger dig vilka inställningar som är aktuella för PHP på din server.

Medlem sedan dec. 19991 749 inlägg
#16

Redan inställt så... det verkar som att php.ini inte har laddats om eftersom den säjer att register_globals=Off när jag kör phpinfo();

Medlem sedan aug. 20002 975 inlägg
#17

Efter ändringar i php.ini måste man starta om webservern.

Medlem sedan juni 200010 432 inlägg
#18

nanne skrev:

va fan!

skulle varit under min tråd om ordna gamla scripts :(

Problemet löst :)

Medlem sedan dec. 19991 749 inlägg
#19

men jag har ju startat om den för*annade apache minst 5gånger utan att det händer nåt :/

Provar med att starta om hela servern och ser om nåt händer...

nope det funkade inte heller... register_globals är fortfarande Off

Medlem sedan nov. 20014 054 inlägg
#20

aldrig hört på maken....

är det en windows eller en linux burk som du använder som server? *nyfiken*

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)