/ 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
Hvad betyder dette PhP?
Fra : Kurt Hansen


Dato : 08-01-11 10:23

I osCommerce forekommer denne stump:

1. <?php
2. if ($banner = tep_banner_exists('dynamic', 'Main-ad2')) {
3. ?>
4. <br>
5. <table border="0" width="100%" cellspacing="0" cellpadding="0">
6. <tr>
7. <td align="center"><?php echo tep_display_banner('static',
$banner); ?></td>
8. </tr>
9. </table>
10. <?php
11. }
12. ?>

(Linienumre svarer ikke til de originale).

I linie 2 er specificeret en "gruppe", kaldet 'Main-ad2'.
'dynamic' skulle betyde, at de bannere er hører til gruppen, vises på
skift, som jeg har forstået det.

Når $banner så bliver vist med echo, står det lige pludselig 'static'.

Jeg aner intet om PhP; dette er blot en husmandsanalyse. Hvem kan
forklare på dansk, hvad der sker i disse 12 linjer?
--
Venlig hilsen
Kurt Hansen

 
 
Leif Neland (08-01-2011)
Kommentar
Fra : Leif Neland


Dato : 08-01-11 11:22

Den 08-01-2011 10:23, Kurt Hansen skrev:
> I osCommerce forekommer denne stump:
>
> 1.<?php
> 2. if ($banner = tep_banner_exists('dynamic', 'Main-ad2')) {
> 3. ?>
> 4.<br>
> 5.<table border="0" width="100%" cellspacing="0" cellpadding="0">
> 6.<tr>
> 7.<td align="center"><?php echo tep_display_banner('static',
> $banner); ?></td>
> 8.</tr>
> 9.</table>
> 10.<?php
> 11. }
> 12. ?>
>

Hvis en funktion tep_banner_exists med nogle parametre giver et svar,
udskrives værdien af en anden funktion.

Den ene funktion kan tømme din bankkonto for værdier, den anden kan
affyre et nukleart missil.

Det kan man kun gætte om, når man ikke har set funktionerne.

Leif

--
Bevar P2, luk P3, der er nok P3'er i forvejen.

Kurt Hansen (08-01-2011)
Kommentar
Fra : Kurt Hansen


Dato : 08-01-11 11:59

On Sat, 08 Jan 2011 11:22:18 +0100, Leif Neland <leif@neland.dk>
wrote:

>Den 08-01-2011 10:23, Kurt Hansen skrev:
>> I osCommerce forekommer denne stump:
>>
>> 1.<?php
>> 2. if ($banner = tep_banner_exists('dynamic', 'Main-ad2')) {
>> 3. ?>
>> 4.<br>
>> 5.<table border="0" width="100%" cellspacing="0" cellpadding="0">
>> 6.<tr>
>> 7.<td align="center"><?php echo tep_display_banner('static',
>> $banner); ?></td>
>> 8.</tr>
>> 9.</table>
>> 10.<?php
>> 11. }
>> 12. ?>
>>
>
>Hvis en funktion tep_banner_exists med nogle parametre giver et svar,
>udskrives værdien af en anden funktion.
>
>Den ene funktion kan tømme din bankkonto for værdier

Aha! Dér er forklaringen på mit overtræk. Nu vil en analyse af koden
forhåbentlig afsløre, hvor den har gjort af pengene. Det må være noget
med:

IF
amount > 0
THEN
move_to $wifes account
ELSE
forget_it
--
Venlig hilsen
Kurt Hansen

Krabsen (08-01-2011)
Kommentar
Fra : Krabsen


Dato : 08-01-11 11:23

Den 08-01-2011 10:23, Kurt Hansen skrev:
> I osCommerce forekommer denne stump:
>
> 1.<?php
> 2. if ($banner = tep_banner_exists('dynamic', 'Main-ad2')) {
> 3. ?>
> 4.<br>
> 5.<table border="0" width="100%" cellspacing="0" cellpadding="0">
> 6.<tr>
> 7.<td align="center"><?php echo tep_display_banner('static',
> $banner); ?></td>
> 8.</tr>
> 9.</table>
> 10.<?php
> 11. }
> 12. ?>
>
> (Linienumre svarer ikke til de originale).
>
> I linie 2 er specificeret en "gruppe", kaldet 'Main-ad2'.
> 'dynamic' skulle betyde, at de bannere er hører til gruppen, vises på
> skift, som jeg har forstået det.
>
> Når $banner så bliver vist med echo, står det lige pludselig 'static'.
>
> Jeg aner intet om PhP; dette er blot en husmandsanalyse. Hvem kan
> forklare på dansk, hvad der sker i disse 12 linjer?

I linie 2 kaldes en funktion tep_banner_exists; med to parametre
'dynamic' og 'Main-ad2'.

denne funktion returnerer et-eller-andet - hvis dette svarer til værdien
af variablen $banner, ja så vises tabellen. (nb*)

I linie 7 kaldes en funktion tep_display_banner, også med to parametre.
Det er uden tvivl her selve banneret vises.


(nb*)
uden at kende koden, så ser linie 12 mystisk ud, idet denne if-sætning
altid afvikles.. Eet = betyder, at $banner sættes lig resultatet af
tep_banner_exists..

Så if'et har ingen betydning. Den rette syntaks bør formentlig være:

> 2. if ($banner == tep_banner_exists('dynamic', 'Main-ad2')) {

...læg mærke til de to ==




Birger Sørensen (08-01-2011)
Kommentar
Fra : Birger Sørensen


Dato : 08-01-11 11:32

Krabsen udtrykte præcist:
> I linie 2 kaldes en funktion tep_banner_exists; med to parametre 'dynamic' og
> 'Main-ad2'.
>
> denne funktion returnerer et-eller-andet - hvis dette svarer til værdien af
> variablen $banner, ja så vises tabellen. (nb*)
>
> I linie 7 kaldes en funktion tep_display_banner, også med to parametre. Det
> er uden tvivl her selve banneret vises.
>
>
> (nb*)
> uden at kende koden, så ser linie 12 mystisk ud, idet denne if-sætning altid
> afvikles.. Eet = betyder, at $banner sættes lig resultatet af
> tep_banner_exists..
>
> Så if'et har ingen betydning. Den rette syntaks bør formentlig være:
>
> > 2. if ($banner == tep_banner_exists('dynamic', 'Main-ad2')) {
>
> ..læg mærke til de to ==

Det er ikke rigtigt.
if ($banner = ...) tildeler ganske rigtigt værdien af resultatet til
banner, men også til if(). Så hvis funktionen returnerer falsk,
springes løkken over.
Dit eksempel vil ikke indsætte værdien af funktionen til $banner, fordi
== er en boolean operator, der sammenligner to værdier.
Så faktisk vil den risikere at gøre modsat : $banner er formentlig ikke
defineret, og hvis funktionen returnerer noget der kan sidestilles med
ingenting, vil tabellen kun blive udskrevet når der ikke er brug for
den. Og det er næppe det, der sigtes imod...


Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Birger Sørensen (08-01-2011)
Kommentar
Fra : Birger Sørensen


Dato : 08-01-11 11:26

Kurt Hansen frembragte:
> I osCommerce forekommer denne stump:
>
> 1. <?php
> 2. if ($banner = tep_banner_exists('dynamic', 'Main-ad2')) {
> 3. ?>
> 4. <br>
> 5. <table border="0" width="100%" cellspacing="0" cellpadding="0">
> 6. <tr>
> 7. <td align="center"><?php echo tep_display_banner('static',
> $banner); ?></td>
> 8. </tr>
> 9. </table>
> 10. <?php
> 11. }
> 12. ?>
>
> (Linienumre svarer ikke til de originale).
>
> I linie 2 er specificeret en "gruppe", kaldet 'Main-ad2'.
> 'dynamic' skulle betyde, at de bannere er hører til gruppen, vises på
> skift, som jeg har forstået det.
>
> Når $banner så bliver vist med echo, står det lige pludselig 'static'.
>
> Jeg aner intet om PhP; dette er blot en husmandsanalyse. Hvem kan
> forklare på dansk, hvad der sker i disse 12 linjer?

'dynamic' og 'static' kan betyde hvad som helt. De er parametre til de
functioner der kaldes - tep_banner_exists() og tep_display_banner() -
og behøver ikke have noget med hverken hinanden eller banneret eller
reklamer at gøre, og kan indikere hvad som helst.
For en forklaring, skal man se funktionerne selv - og det giver i sig
selv ikke nødvendigvis mere info.
Ud fra navnene, må man antage at den ene funktion undersøger om der
faktisk findes en reklame, og den anden viser den.

På en side note...
Der oprettes en tabel med een række og een søjle. Der bør bruges en
div.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Kurt Hansen (08-01-2011)
Kommentar
Fra : Kurt Hansen


Dato : 08-01-11 11:52

On Sat, 08 Jan 2011 11:26:08 +0100, Birger Sørensen
<sdc@bbsorensen.com> wrote:

>Kurt Hansen frembragte:
>> I osCommerce forekommer denne stump:
>>
>> 1. <?php
>> 2. if ($banner = tep_banner_exists('dynamic', 'Main-ad2')) {
>> 3. ?>
>> 4. <br>
>> 5. <table border="0" width="100%" cellspacing="0" cellpadding="0">
>> 6. <tr>
>> 7. <td align="center"><?php echo tep_display_banner('static',
>> $banner); ?></td>
>> 8. </tr>
>> 9. </table>
>> 10. <?php
>> 11. }
>> 12. ?>
>>
>> (Linienumre svarer ikke til de originale).
>>
>> I linie 2 er specificeret en "gruppe", kaldet 'Main-ad2'.
>> 'dynamic' skulle betyde, at de bannere er hører til gruppen, vises på
>> skift, som jeg har forstået det.
>>
>> Når $banner så bliver vist med echo, står det lige pludselig 'static'.
>>
>> Jeg aner intet om PhP; dette er blot en husmandsanalyse. Hvem kan
>> forklare på dansk, hvad der sker i disse 12 linjer?
>
>'dynamic' og 'static' kan betyde hvad som helt. De er parametre til de
>functioner der kaldes - tep_banner_exists() og tep_display_banner() -
>og behøver ikke have noget med hverken hinanden eller banneret eller
>reklamer at gøre, og kan indikere hvad som helst.
>For en forklaring, skal man se funktionerne selv - og det giver i sig
>selv ikke nødvendigvis mere info.
>Ud fra navnene, må man antage at den ene funktion undersøger om der
>faktisk findes en reklame, og den anden viser den.

Har kigget og du har ret. Først kontrolleres om der er flere end 0
bannere i gruppen. Hvis ja, og hvis der er flere end 1, starter der en
random-funktion - hvis det kun er 1, vises det statisk. Logisk nok.
--
Venlig hilsen
Kurt Hansen

Bertel Lund Hansen (08-01-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 08-01-11 11:57

Kurt Hansen skrev:

> Har kigget og du har ret. Først kontrolleres om der er flere end 0
> bannere i gruppen. Hvis ja, og hvis der er flere end 1, starter der en
> random-funktion - hvis det kun er 1, vises det statisk. Logisk nok.

Logisk måske, men rodet design. Jeg ville have lavet én funktion
til display af bannere og så internt i den tjekke om det skulle
ske dynamisk eller statisk. Det ville have givet enklere både
HTML- og PHP-kode.

--
Bertel
http://bertel.lundhansen.dk/         FIDUSO: http://fiduso.dk/

Kurt Hansen (08-01-2011)
Kommentar
Fra : Kurt Hansen


Dato : 08-01-11 12:05

On Sat, 08 Jan 2011 11:57:10 +0100, Bertel Lund Hansen
<splitteminebramsejl@lundhansen.dk> wrote:

>Kurt Hansen skrev:
>
>> Har kigget og du har ret. Først kontrolleres om der er flere end 0
>> bannere i gruppen. Hvis ja, og hvis der er flere end 1, starter der en
>> random-funktion - hvis det kun er 1, vises det statisk. Logisk nok.
>
>Logisk måske, men rodet design. Jeg ville have lavet én funktion
>til display af bannere og så internt i den tjekke om det skulle
>ske dynamisk eller statisk. Det ville have givet enklere både
>HTML- og PHP-kode.

Det lyder overbevisende, men at begynde at omkode osCommerce, ligger
uden for mit kompetanceområde.

Det er take-it-as-it-is og easy-to-use-for-knoldesparkers, med ret til
og mulighed for at modificere, hvis man har forstand på det: ellers
anbefales det at holde nalderne væk og det gør jeg så
--
Venlig hilsen
Kurt Hansen

Bertel Lund Hansen (08-01-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 08-01-11 12:52

Kurt Hansen skrev:

> >Logisk måske, men rodet design. Jeg ville have lavet én funktion
> >til display af bannere og så internt i den tjekke om det skulle
> >ske dynamisk eller statisk. Det ville have givet enklere både
> >HTML- og PHP-kode.

> Det lyder overbevisende, men at begynde at omkode osCommerce, ligger
> uden for mit kompetanceområde.

Det var også kun en strøtanke. Jeg ville heller ikke give mig til
at pille i et monstersystem.

--
Bertel
http://bertel.lundhansen.dk/         FIDUSO: http://fiduso.dk/

Leif Neland (08-01-2011)
Kommentar
Fra : Leif Neland


Dato : 08-01-11 15:08

Den 08-01-2011 11:57, Bertel Lund Hansen skrev:
> Kurt Hansen skrev:
>
>> Har kigget og du har ret. Først kontrolleres om der er flere end 0
>> bannere i gruppen. Hvis ja, og hvis der er flere end 1, starter der en
>> random-funktion - hvis det kun er 1, vises det statisk. Logisk nok.
>
> Logisk måske, men rodet design. Jeg ville have lavet én funktion
> til display af bannere og så internt i den tjekke om det skulle
> ske dynamisk eller statisk. Det ville have givet enklere både
> HTML- og PHP-kode.
>
Næ, for bannere kan sikkert vises flere steder i forskelligt format.

Enten skulle du have en bannerfunktion for hvert format, eller
bannerfunktionen skulle have en parameter.

På denne måde kan du separere bannerlogik og bannerudseende.
Hvis du har forskellige "skins", skal bannerlogikken ikke skrives i alle
skins.

Og hvis man får sine bannere på en ny måde, fra en affiliate f.ex., kan
man nøjes med at rette et sted.

Leif
--
Bevar P2, luk P3, der er nok P3'er i forvejen.

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste