/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
ka ikke finde fejlen...
Fra : Mickey


Dato : 25-08-01 20:29

Har følgende script:

$fp = fopen("$datapath$list", "r");
while(!feof($fp)){
$data = fgets($fp, 4096);
$data = eregi_replace("\n$", "", $data);
$data = explode(":", $data);
if($data[0] == $email AND $data[1] == $navn){
$optoutid = time();
$found = $data[0].":".$data[1].":".$optoutid;
}
elseif($data[0] AND $data[1]){
$kept .= $data[0].":".$data[1];
}
}

I den fil der åbnes står der f.eks. følgende:

email@adresse.dk:Mig

Hvis filen kaldes med ?navn=Mig&email=email@adresse.dk burde det jo give et
positivt udslag ($found sættes) men det sker ikke - jeg fatter helt ærligt
ikke en skid af hvorfor ikke! (og jeg mener det har virker før uden at noget
er ændret...)


--
|-|$235-|)k - Mickey - Eko sum lapis
http://susie.dk/coderedworm.html



 
 
Nezar Nielsen (25-08-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 25-08-01 21:34

"Mickey" <news002@susie.dk> wrote in message
news:9m8u9j$dee$1@egon.worldonline.dk...
> Har følgende script:
>
> $fp = fopen("$datapath$list", "r");

Husk at kontrollere at det gik:

if(!$fp) die("kunne ikke åbne filen $datapath$list");

....

> I den fil der åbnes står der f.eks. følgende:
>
> email@adresse.dk:Mig
>
> Hvis filen kaldes med ?navn=Mig&email=email@adresse.dk burde det jo give
et
> positivt udslag ($found sættes) men det sker ikke - jeg fatter helt ærligt

Og det er ikke fordi du nu kalder det inde fra en funktion, hvortil du ikke
har importeret $navn og $email (global $navn,$email;) ?


--
Mvh. Nezar Nielsen
http://fez.dk/




Mickey (25-08-2001)
Kommentar
Fra : Mickey


Dato : 25-08-01 21:41

"Nezar Nielsen" <nospam@fez.dk> skrev i en meddelelse
news:TYTh7.22557$Ay1.522387@news000.worldonline.dk...

> Husk at kontrollere at det gik:

det gjorde det - hvis jeg beder den skrive data[0] og data[1] ud kommer der
et resultat der burde trigge så $found initialiseres


--
|-|$235-|)k - Mickey - Eko sum lapis
http://susie.dk/coderedworm.html



Jesper Juul-Mortense~ (25-08-2001)
Kommentar
Fra : Jesper Juul-Mortense~


Dato : 25-08-01 21:53

On Sat, 25 Aug 2001 22:41:28 +0200, "Mickey" <news002@susie.dk> wrote:

>det gjorde det - hvis jeg beder den skrive data[0] og data[1] ud kommer der
>et resultat der burde trigge så $found initialiseres

Prøv at smide et par trim() ind inden du sammenligner. Det kunne meget
vel være noget whitespace der driller dig.

f.eks.: if(trim($data[0]) == $email AND trim($data[1]) == $navn)

Du burde måske også bruge en strtolower() når du sammenligner så du
ikke får problemer med at sammenligne store med små bogstaver.

/Jesper

--
Monogamy leaves a lot to be desired

Mickey (25-08-2001)
Kommentar
Fra : Mickey


Dato : 25-08-01 22:26

"Jesper Juul-Mortensen" <na@na.na> skrev i en meddelelse
news:9m9a5l.1e0.1@home.suckosaurus.dk...

> f.eks.: if(trim($data[0]) == $email AND trim($data[1]) == $navn)

den går ikke... - der kan jo være mellemrum i navnet

> Du burde måske også bruge en strtolower() når du sammenligner så du
> ikke får problemer med at sammenligne store med små bogstaver.

hmm ja, det havde jeg ikke lige tænkt på...
- men det er i hvert fald ikke det der er problemet!


--
|-|$235-|)k - Mickey - Eko sum lapis
http://susie.dk/coderedworm.html



Jesper Juul-Mortense~ (25-08-2001)
Kommentar
Fra : Jesper Juul-Mortense~


Dato : 25-08-01 22:38

On Sat, 25 Aug 2001 23:26:10 +0200, "Mickey" <news002@susie.dk> wrote:

>> f.eks.: if(trim($data[0]) == $email AND trim($data[1]) == $navn)
>
>den går ikke... - der kan jo være mellemrum i navnet

Undeordnet - trim() arbejder på starten og slutning af strengen.

>> Du burde måske også bruge en strtolower() når du sammenligner så du
>> ikke får problemer med at sammenligne store med små bogstaver.
>
>hmm ja, det havde jeg ikke lige tænkt på...
> - men det er i hvert fald ikke det der er problemet!

Hvis du er helt sikker på det ikke er et case spørgsmål og der ikke er
noget whitespace der driller (typisk i enden af en streng), så kan det
vel kun være din sammenligning...

Prøv f.eks. at indele den:
if (($data[0]==$email) && ($data[1]==$navn))

/Jesper

--
Drag me, drop me, treat me like an object!

Mickey (25-08-2001)
Kommentar
Fra : Mickey


Dato : 25-08-01 23:25

"Jesper Juul-Mortensen" <na@na.na> skrev i en meddelelse
news:9m9crk.ds.1@home.suckosaurus.dk...

> Hvis du er helt sikker på det ikke er et case spørgsmål og der ikke er
> noget whitespace der driller (typisk i enden af en streng), så kan det
> vel kun være din sammenligning...

*blush* - trim() fik det til at virke...
- men okay, først indsatte jeg trim() på variablerne, så fik jeg
parseerror, så skrev jeg linien igen, satte trim ind og det hele virkede, så
satte jeg strtolower() på også, og fik parse error...

Noget er vist ikke helt som det skal være ;)


--
|-|$235-|)k - Mickey - Eko sum lapis
http://susie.dk/coderedworm.html



Michael Rasmussen (25-08-2001)
Kommentar
Fra : Michael Rasmussen


Dato : 25-08-01 21:34

In article <9m8u9j$dee$1@egon.worldonline.dk>, "Mickey" <news002@susie.dk>
wrote:

> Har følgende script:
>
> $fp = fopen("$datapath$list", "r");
> while(!feof($fp)){
> $data = fgets($fp, 4096);
> $data = eregi_replace("\n$", "", $data); $data = explode(":",
> $data);
> if($data[0] == $email AND $data[1] == $navn){
> $optoutid = time();
> $found = $data[0].":".$data[1].":".$optoutid; }
> elseif($data[0] AND $data[1]){
> $kept .= $data[0].":".$data[1];
> }
> }
>
> I den fil der åbnes står der f.eks. følgende:
>
> email@adresse.dk:Mig
>
> Hvis filen kaldes med ?navn=Mig&email=email@adresse.dk burde det jo give
> et positivt udslag ($found sættes) men det sker ikke - jeg fatter helt
> ærligt ikke en skid af hvorfor ikke! (og jeg mener det har virker før
> uden at noget er ændret...)
>
>
> --
> |-|$235-|)k - Mickey - Eko sum lapis
> http://susie.dk/coderedworm.html
Jeg har php4.04, og havde et problem lignende dit igår. Jeg tror det er
en bug, for lige meget hvad jeg gjorde, virkede kombinationen af if og
elseif ikke! Prøv at lave det med en switch case. Jeg ved godt, det er at
skyde gråspurve med kanoner, men hvis det andet ikke virker, så .....

--
Hilsen/Sincerely
Michael Rasmussen
-------------------------------------------------------------------
Fjern NOSPAM fra min adresse, for at sende mig en mail

Mickey (25-08-2001)
Kommentar
Fra : Mickey


Dato : 25-08-01 21:44

"Michael Rasmussen" <mir@nospam.datanom.net> skrev i en meddelelse

> Jeg har php4.04, og havde et problem lignende dit igår. Jeg tror det er
> en bug, for lige meget hvad jeg gjorde, virkede kombinationen af if og
> elseif ikke! Prøv at lave det med en switch case. Jeg ved godt, det er at
> skyde gråspurve med kanoner, men hvis det andet ikke virker, så .....

min er 4.04pl1 - men hvordan vil du lave en switch case på sådan en ?


--
|-|$235-|)k - Mickey - Eko sum lapis
http://susie.dk/coderedworm.html



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408942
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste