Gå til innhold

Webkafeen


Anbefalte innlegg

Hm. Tenker du nå på at du får en feilmelding som sier at headerne allerede er sendt?

 

Forresten, så en litt merkelig linje i koden din. Forandre

$filetternavn = strstr($q2, '.');

til

$filetternavn = substr($q2, -4);

Om jeg har lest scriptet ditt riktig så vil denne linja hente ut de siste 4 bokstavene i filnavnet, istedenfor å returnere en variabel som er true/false (som strstr returnerer).

 

Hva er forresten $q? Er det en URL-variabel? I så fall så bør du lage en referanse til GET-variabelen først, slik som dette:

$q = & $_GET['q'];

Hvorfor? Fordi ikke alle har register_globals slått på. ;)

 

Shoot me if I'm wrong! :p

Endret av Lokaltog
Lenke til kommentar
Videoannonse
Annonse
Hm. Tenker du nå på at du får en feilmelding som sier at headerne allerede er sendt?

 

Forresten, så en litt merkelig linje i koden din. Forandre

$filetternavn = strstr($q2, '.');

til

$filetternavn = substr($q2, -4);

Om jeg har lest scriptet ditt riktig så vil denne linja hente ut de siste 4 bokstavene i filnavnet, istedenfor å returnere en variabel som er true/false (som strstr returnerer).

 

Hva er forresten $q? Er det en URL-variabel? I så fall så bør du lage en referanse til GET-variabelen først, slik som dette:

$q = & $_GET['q'];

Hvorfor? Fordi ikke alle har register_globals slått på. ;)

 

Shoot me if I'm wrong! :p

Sitter og har tentamen nå. Husker ikke heeeelt hvordan scriptet oppførte seg i går kveld, men.

 

Strstr returnerer ikke en boolean, men alt som står etter første «needle». Den koden der returnerte alt fra og med første punktum, noe jeg i ettertid ser er feil. Den skal returnere alt fra og med siste punktum. Derfor kan vi bruke strrchr() i stedet... tror jeg.

 

Du har rett i det med q-variabelen. Må fikse på det.

Lenke til kommentar

Hoihoi. Dere er klar over at dere nå faktisk lager HTTP-modulen i en nettleser? Det er bare selve parsingen som nå overlates til firefox/ie.

 

Dette høres gøy ut. Kanskje jeg tar en titt på dette når jeg kommer meg hjem fra skolen.

 

Å løse problemet med forms og sånt er ikke værre enn å videresende samtlige GET/POST/PUT-headere via header(). :)

 

 

btw: /me har en liten artikkelserie på gang nå om debugging i PHP. Jeg kjeder meg altså temmelig kraftig innimellom. :p

Lenke til kommentar
Å løse problemet med forms og sånt er ikke værre enn å videresende samtlige GET/POST/PUT-headere via header(). :)

Får du videresendt GET/POST-headere via header()? Da sender du vel strengt tatt bare dataene tilbake til brukeren? Eller har jeg misforstått? Slik jeg har skjønt det så er metoden man bør bruke å bruke fsockopen og fputs med egendefinerte headere, er dette feil? :blush:

 

Edit: 1400 innlegg... eh.. wohoo! :tease:

Endret av Lokaltog
Lenke til kommentar

Ah. Seff mente jeg å videresende via fputs() til socketen. En GET-header eller en POST-header er jo lett å sende videre. Problemet blir at navnet på variabelen som skal sendes er ukjent. Derfor må du tråle gjennom filen du laster for å finne ut hvilke GET/POST-variabler som skal sendes videre.

Lenke til kommentar

Jeg HATER spaceworld :mad:

 

Makan til talentløst system skal en lete lenge etter. Jeg skulle tilfeldigvis titte litt inne i pcen min her en dagen, for å forsikre meg om at det er harddisken jeg bør bytte for å dempe støynivået. Da jeg var inni der likevel, tok jeg en titt på vifter osv også. Det var da jeg fant ut at viften på grafikkortet er ødelagt. Den er rett og slett smeltet, delvis iallefall, og den vil ikke spinne selv om jeg presser på den med fingrene. Jeg ringte selvfølgelig til spaceworld med en gang, for å sjekke hvilken garanti jeg har på slike ting. Det skulle gå greit sa de, men de måtte sjekke nærmere med verkstedet som hadde bygget pcen, før jeg eventuelt måtte sende kortet inn. Jeg ringte igjen i dag, for å finne ut hvordan det lå an. Joda, skulle gå greit det, bare å komme med hele pcen så skulle de sende den til Arendal for undersøkelse, og det burde ikke ta mer enn en uke eller to. Herregud. Viften på grafikkortet er ødelagt, og så skal jeg ofre to uker spilletid i juleferien, for ikke å snakke om LAN partiet jeg hadde tenkt meg på i helga, fordi de absolutt må gjøre det på sin egen måte? En rask titt er alt som kreves for å se at noe er galt med dritten, de kunne gitt meg nytt kort i butikken, men neida, de skal sende hele pcen min langt, langt av gårde, for å bekrefte at vifta faktisk ikke virker. Hadde jeg i det minste fått beholde selve pcen, så kunne jeg brukt et erstatningskort, men det går jo selvsagt ikke. Alternativet blir å kjøpe nytt kort selv, og bruke alle sparepengene mine på det, nå som jeg endelig hadde nok til iPod + diverse andre oppgraderinger :hrm:

Lenke til kommentar
Ah. Seff mente jeg å videresende via fputs() til socketen. En GET-header eller en POST-header er jo lett å sende videre. Problemet blir at navnet på variabelen som skal sendes er ukjent. Derfor må du tråle gjennom filen du laster for å finne ut hvilke GET/POST-variabler som skal sendes videre.

Hm, stusser litt på det der jeg også. Men slik jeg har forestilt meg kan en gjøre det omtrent slik:

 

foreach($_POST as $name => $info)
{
fputs($socket, "POSTDATA her.. Finner ikke ut hvordan man sender POST-variabler");
}

 

Tenker jeg helt feil? :)

Lenke til kommentar

@g0mpen: Med fare for å fortsette diskusjon av off-topic:

Du har langtifra krav på noe nytt kort - og kan overhode ikke forvente det. Garanti og reklamasjon gir deg kun rett på en helt ny vare hvis gjentatte reparasjonsforsøk ikke har vært vellykket.

Endret av Loomy
Lenke til kommentar

Fant eksempler på hvordan man sender postdata, og jeg tror noe slikt kan fungere for å videresende POST-variabler:

 

if(!empty($_POST))
{
$preheaders = "POST $url HTTP/1.0\r\nBlaBlaBla:Blablabla";
fputs($socket, $preheaders);
// Her kommer innholdet i requesten, nemlig postdataene
foreach($_POST as $varname => $contents)
{
fputs($socket, "$varname=$contents&");
}
}

 

Hva tror du, jorgis?

Lenke til kommentar
De som sa jeg hadde garanti på det, og at det skulle bli fikset eller erstattet, men å sende det helt til arendal, i mer enn en uke er høyst unødvendig synes jeg, når feilen er så opplagt.

Hvordan har du greid å smelte viften? Mulig at det er derfor de vil sende den til Arendal, slik at du ikke får en ny vifte og det samme skjer igjen...

Lenke til kommentar

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å
×
×
  • Opprett ny...