joenohr Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 Jeg har en liten diskusjon gående om hva slags måte man skal aksessere variabler som sendes fra en form til en annen .php fil for prosessering. Det er snakk om POST. Min "motstander" mener man skal bruke "$variabel" rett frem, mens jeg mener man iallefall skal benytte $_POST["variabel"] Har dere noen synspunkter på dette? Er det bare en smakssak? Mener å ha sett at dette har med kompatibilitet å gjøre.... alt etter hvordan php er konfigurert på webserveren liksom. Lenke til kommentar
sven-o Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 Jeg har en liten diskusjon gående om hva slags måte man skal aksessere variabler som sendes fra en form til en annen .php fil for prosessering. Det er snakk om POST. Min "motstander" mener man skal bruke "$variabel" rett frem, mens jeg mener man iallefall skal benytte $_POST["variabel"] Har dere noen synspunkter på dette? Er det bare en smakssak? Mener å ha sett at dette har med kompatibilitet å gjøre.... alt etter hvordan php er konfigurert på webserveren liksom. Det motstanderen din sier er ikke feil, men det vil ikke fungere dersom register_globals er slått av(noe det bør være). Bruk av $_POST['variabelnavn'] og $_GET['variabelnavn'] fungerer alltid. På gæmmle php versjoner er det derimot $HTTP_GET_VARS og $HTTP_POST_VARS som gjelder... Tror jeg.. *Slikker på fingeren og holder den i luften* Lenke til kommentar
Torbjørn Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 hvorvidt det er default eller ikke, har med version å gjøre jeg og de fleste andre mened man skal bruke $_POST! hvis ikke, ie hvis man lar alle variable settes automatisk, vil man enkelt kunne manipulere andre variable i skriptet som det ikke var meningen man skulle kunne manipulere. Lenke til kommentar
???????? Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 Hvis du vil bruke $VariableFraSkjema må Register Globals være ON. Denne funksjonen gjør at eksterne varibler kan brukes direkte i scriptet. For å øke sikkerheten ble register_globals defalut satt til OFF fra og med PHP versjon 4.1. Siden det er så mange scripts som finnes som er gamle er det mange webhoteller som fortsatt har register_globals ON. Skal du skrive et script nå, og gjerne vil at det skal fungere på forskjellige servere burde du bruke $_POST['VariableFraSkjema']. Husk at alle POST, GET og COOKIES verdier også er tilgjenlig i $_REQUEST. Lenke til kommentar
Nervetattoo Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 $_POST[variable] helt klart. Nuff said Lenke til kommentar
Torbjørn Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 findus: $_POST['variable'] Lenke til kommentar
???????? Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 torbjørn og findus: $_POST['variable'] og $_POST[variable] Lenke til kommentar
sven-o Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 findus: $_POST['variable'] Nuff said. Lenke til kommentar
???????? Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 (endret) Hva mener du med det? Er enig i at ved å bruke ' så ser det ryddigere ut, men du må ikke! Endret 28. januar 2004 av ???????? Lenke til kommentar
Torbjørn Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 www.php.net sier $_POST['variable'] nøff-nøff :o) Lenke til kommentar
???????? Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 (endret) Okay, jeg sier ikke at du ikke skal bruke ' men du må ikke. Eneste manualen sier om det at det kan senere oppstå problemer hvis PHP senere definerer navnet på variablen. Som sagt, begge deler fungerer. Endret 28. januar 2004 av ???????? Lenke til kommentar
sven-o Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 Hva mener du med det? Er enig i at ved å bruke ' så ser det ryddigere ut, men du må ikke! Array do's and don'tsWhy is $foo[bar] wrong? You should always use quotes around a string literal array index. For example, use $foo['bar'] and not $foo[bar]. Lenke til kommentar
???????? Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 Når du siterer manualen FÅR DU IKKE klippe ut de dele du liker og utelate resten! 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. Det fungerer! Lenke til kommentar
Torbjørn Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 (endret) ????: du klippet bort dette: This is wrong, but it works. Then, why is it wrong? [...] Drister meg til en edit til midt i tråden: en semi-ot sammenligning: reigster_globals on fungerer også, det er heller ikke feil, men man frarådes å bruke det og den er skrudd av som default. Endret 28. januar 2004 av Torbjørn Lenke til kommentar
???????? Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 (endret) SLETTET - Torbjørn slettet det jeg quotet! Endret 28. januar 2004 av ???????? Lenke til kommentar
sven-o Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 Når du siterer manualen FÅR DU IKKE klippe ut de dele du liker og utelate resten! 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. Det fungerer! Sint da pus? Man KAN gjøre mye i php, og få det til å fungere. Men det betyr ikke at det er bra. Etter min mening tillater php _altfor_ mye stygg kode. Btw... VIL JEG, SÅ FÅR JEG!!!!!!!!! Lenke til kommentar
???????? Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 Grunnen til at jeg ikke synes man skal klippe ut det man liker er at det er sikkert noen som ikke kan så mye om det. Legg også merke til at det er variabler som det ikke skal brukes ' på. Enig i at man burde bruke ' men ikke si at det alltid er feil å ikke gjøre det! Lenke til kommentar
Torbjørn Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 torbjørn og findus: $_POST['variable'] og $_POST[variable] du antyder vel her litt mer enn at det bare "ikke er feil å bruke det", vil nå jeg si Lenke til kommentar
???????? Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 findus: $_POST['variable'] Her antyder du vel at man må bruke ' ? Lenke til kommentar
sven-o Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 Drister meg til en edit til midt i tråden:en semi-ot sammenligning: reigster_globals on fungerer også, det er heller ikke feil, men man frarådes å bruke det og den er skrudd av som default. Flere eksempler som _fungerer_... En-linjes if'er, slik: if(betingelse) Gjør dette; eller if(betingelse){ Gjør dette; } er i praksis akkurat det samme. Men det er stygt, og ikke bra kodestandard. Dersom du f.eks prøver if(betingelse) include('en_fil_med_mange_linjer.php'); Vil det ikke fungere. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå