Gå til innhold

POST navn bug?


Anbefalte innlegg

Skrevet

har et html form med en liste (select) som heter "tol" (det siste er en liten L), og et tekst element med navn "to".

Hva som er merket av / skrevet i disse elementene skulle da være tilgjengelig i variabelene $_POST['tol'] og $_POST['to'].

 

Det viser seg derimot at disse to variablene blir blandet sammen! Slik at når jeg kjører

print_r($_POST)

så ha plutselig begge de to variablene verdien av $_POST['tol'], mens hvis jeg tar

echo "tol=".$_POST['tol']."\n to=".$_POST['to']

får begge verdien av $_POST['to'] !

 

Da jeg endre navnet på 'tol' til 'lot' klarte php å skille de fra hverandre.

Snodig sak

Videoannonse
Annonse
Skrevet
Da jeg endre navnet på 'tol' til 'lot' klarte php å skille de fra hverandre.

Snodig sak

 

Du har nok bare skrevet feil i html-dokumentet, og nettop skrevet lot istedefor tol.

Skrevet

nei!

Kan ta søk/erstatt og endre alle lot til tol, og få samme feil.

 

Hvis jeg hadde den feilen i wml koden skulle uansett 'tol' hatt null verdi, ikke verdien av 'to'.

Mulig dette er en wml bug da - at wml ikke klarer å skille slike post felt.

Skrevet (endret)

Snodig dette.

Scriptet er på noen tusen linjer, og lite egnet for posting.

Lagde en miniversjon der jeg tok wmlkoden slik den vises som kildekode i browser og satt sammen med en php koden print_r($_POST);

Dette skulle være så likt som overhode mulig problemkoden, men likevel opptrer ikke bugen på dette!

 

Altså kortversjon med ferdig wml:

<?php
// diverse headere
print_r($_POST);
?>

wml form
wml sideavslutning

 

og det samme med generering av wml:

<?php
// diverse headere
print_r($_POST);

//wml form generering
?>
wml sideavslutning

 

Kan ikke fatt hvorfor buggen bare opptrer i en av disse.

 

Edit: Bekreftelse på at den genererte wml = den ferdige: ved å la browser lagre kildekode for hver av dem til fil, og kjøre diff på filene, er det kun linja med print_r($_POST); som er forskjellig.

Endret av petterg
Skrevet

Har du sjekket at du ikke behandler innholdet i $_POST på noen måte for du printer ut variabelen med print_r?

 

$_POST["to"] = $_POST["tol"], i stedet for ==, for eksempel?

 

MVH Audun

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...