Avatar billede a1a1 Novice
28. juni 2007 - 22:06 Der er 28 kommentarer og
1 løsning

Simpelt php banner system

Hej jeg ved ikke meget om php, men har brug for at kunne vise nogle bannere. jeg tror det er php 3 eller 4 (men IKKE 5)

har en querystring der hedder: idxno

"røver kode"
hvis idxno = 1 så
vis banner 1
ellers hvis idxno = 2 så
vis banner 2
hvis intet ovenstående så vis
en random banner (der er ca. 6)
slut

det er noget jeg skal hjælpe en ven med og kan ikke teste lokalt, men bare uploade det til sitet

;o)
Avatar billede mstorgaard Praktikant
28. juni 2007 - 22:17 #1
if($idxno == 1)
{
  echo "<img src=\"banner1.jpg\" alt=\"\">";
}
elseif($idxno == 2)
{
  echo "<img src=\"banner2.jpg\" alt=\"\">";
}
else
{
  $rand = rand(3,8)
  echo "<img src=\"banner" . $rand . ".jpg\" alt=\"\">";
}

Det burde fungere? (:
Avatar billede mstorgaard Praktikant
28. juni 2007 - 22:17 #2
I den sidste viser den billederne der hedder banner3.jpg til banner8.jpg (:
Avatar billede a1a1 Novice
28. juni 2007 - 22:36 #3
det ser da ikke helt tosset ud ;o) (prøver lige at uploade det)
Avatar billede a1a1 Novice
28. juni 2007 - 22:39 #4
kan du lave det om så jeg skal skrive en liste af banner "navne" de hedder nemlig f.eks billede_ostemad.gif, gammelmand_banner.gif, enandengammelmand.gif osv...
(så er det jo nemmere at holde styr på)

;o)
Avatar billede a1a1 Novice
28. juni 2007 - 23:04 #5
liste af banner "navne" -> f.eks en array med de random billeder
Avatar billede mstorgaard Praktikant
28. juni 2007 - 23:58 #6
if($idxno == 1)
{
  echo "<img src=\"banner1.jpg\" alt=\"\">";
}
elseif($idxno == 2)
{
  echo "<img src=\"banner2.jpg\" alt=\"\">";
}
else
{
  $banner_array = array(3 => "banner3.jpg", 4 => "banner4.jpg", 5 => "banner5.jpg", 6 => "banner6.jpg", 7 => "banner7.jpg", 8 => "banner8.jpg");
  $rand = rand(3,8)
  echo "<img src=\"" . $banner_array[$rand] . "\" alt=\"\">";
}

Det burde virke (:
Avatar billede a1a1 Novice
29. juni 2007 - 00:21 #7
id'erer er ikke fortløbende 1, 2, 3, men f.eks. 1234, 4544, 34, 483473847, hvis IKKE hits så bare en fra random "listen"
men det gør det måske som du har skrevet?
(kan programmere vb.net og kender lidt til c#)

Du får lidt ekstra points, jeg formulerede mig åbentbart ikke godt nok ;o)
Avatar billede mstorgaard Praktikant
29. juni 2007 - 01:00 #8
Jamen så ændrer du bare 1-tallet og 2-tallet til de faste værdier, og så vil den sidste boks stadig sætte det til de tilfældige bannere, uanset hvad idxno er sat til.
Avatar billede a1a1 Novice
29. juni 2007 - 02:55 #9
ok prøver lige ;o)

(hvad betyder 3 => "banner3.jpg", 4 => "banner4.jpg")

i .net kan jeg lave en array (eller en flerdimintionel string, bare ved at skrive "tallene") f.eks. har jeg en:
Dim symbols() As String = {".", ",", ":", ";", "'", "*", "#", "%", """", "/"}
(index 0,1,2 osv)

hente den: symbols(2) f.eks. = :


;o)
Avatar billede a1a1 Novice
29. juni 2007 - 03:13 #10
det virker fint, men du må da meget gerne skrive tilbage på mit sidste spm...

Mange tak ;o)

fylder op til 100 points, men må vist lave et nyt spm. (kunne man ikke engang forhøje point i sit spm.??)
Avatar billede a1a1 Novice
29. juni 2007 - 03:16 #11
Avatar billede roenving Novice
29. juni 2007 - 04:08 #12
Du kan stadig forhøje pointtallet i et spørgsmål, men kun så længe, der ikke er accepteret svar ...

Oppe til venstre under Funktioner findes der i så tilfælde et punkt, der hedder Afsæt flere point !-)
Avatar billede windcape Praktikant
29. juni 2007 - 05:10 #13
Og lidt undervisning til mstorgaard og jer andre:

echo "<img src=\"banner2.jpg\" alt=\"\">"; // escaping er grimt, og besværligt

echo '<img src="banner2.jpg" alt="">'; // singlequotes er pæne, og nemme
Avatar billede a1a1 Novice
29. juni 2007 - 06:55 #14
tak roenving, kunne ikke finde det ;o)

btw. er der forskel på echo og print (i php)?
Avatar billede cronick Nybegynder
29. juni 2007 - 10:15 #15
windcape - prøv at udehold personlige meninger om forskellige (og alligevel ens fungerende) metoder i PHP..
Avatar billede a1a1 Novice
29. juni 2007 - 10:29 #16
lad ham dog blære sig ;o) (det er jo også rigtigt hvad han skriver, og php er jo ikke pænt i forvejen ;o) )
Avatar billede cronick Nybegynder
29. juni 2007 - 12:03 #17
Synes nu PHP er et udemærket sprog, og finder det ikke på nogen måde "grimt" sammenlignet med andre tilgængelige programmeringssprog. Det handler jo i bund og grund om, hvor villig man er til at bygge det op, så der lægges en vis struktur, og overskuelighed. Desuden bestemmer man da helt selv om man vil bruge singlequotes eller double - derfor finder jeg bare hans kommentar "Og lidt undervisning til mstorgaard og jer andre:" direkte latterlig..
Avatar billede a1a1 Novice
29. juni 2007 - 13:06 #18
hver sin smag alt kan jo være logisk og forsåeligt, selv assembler hvis man ved hvordan det virker ;o)
bruger selv vb.net men har da også brugt c# (det er jo bare et spm om { } eller If Else osv)
Avatar billede mstorgaard Praktikant
29. juni 2007 - 14:25 #19
Grunden til at jeg escaper sådan, er bare ren vane (:

Og tak for point :)
Avatar billede roenving Novice
29. juni 2007 - 16:00 #20
>>a1 29/06-2007 06:55:11

Prøv det, f.eks.

for($i=0;3>$i;$i++){
  echo "Nummer $i";
}

for($i=0;3>$i;$i++){
  print "Nummer $i";
}
Avatar billede a1a1 Novice
29. juni 2007 - 17:04 #21
? jeg kan ikke bare teste noget, som jeg siger skal jeg ligge det direkte op på en server (der ikke er min, ok jeg tror ikke det crasher den var bare nysgerrig) ;o)

er echo som c++ println, og print som c++ print?
Avatar billede windcape Praktikant
30. juni 2007 - 05:35 #22
a1:

Hvis du mener at viden om forskellige metoder er "blær" , så burde du nok vælge en anden hobby.
Avatar billede windcape Praktikant
30. juni 2007 - 05:36 #23
Prøv det, f.eks.

for($i=0;3>$i;$i++){
  echo 'Nummer $i';
}

for($i=0;3>$i;$i++){
  print "Nummer $i";
}

Du brugte " " begge gange roenving ;-) Men godt eksempel. Mit "blær" var tydeligvis ukendt for a1 alligevel.
Avatar billede windcape Praktikant
30. juni 2007 - 05:40 #24
nej, jeg kan ikke dy mig for at brokke mig lidt mere...

Hvad fanden er i for en gang barnelig udviklere når i brokker jeg over ekstra viden ? er i bare her for at leeche scripts fra folk ? Har i overhovedet ingen intention om at LÆRE NOGET?

Fandme om jeg ikke er træt af scripts og problemer fra dovne udviklere som jer der er totalt ligeglade med viden, og provokere folk der forsøger at hjælpe. I fortjener jo slet ikke nogen som helst form for viden med sådan en arrogance.

Tag jer sammen og LÆR noget. LÆS dokumentationen, og SØG PÅ NETTET før i spørger. Det ville bevise at i havde bare en lille smule mere intellegens end hr. og fru jensen når det kommer til programming.
Avatar billede windcape Praktikant
30. juni 2007 - 05:41 #25
"Desuden bestemmer man da helt selv om man vil bruge singlequotes eller double - derfor finder jeg bare hans kommentar "Og lidt undervisning til mstorgaard og jer andre:" direkte latterlig.."
- Du kender jo tydeligvis ikke forskellen, så det er vist dig som er latterlig.
Avatar billede cronick Nybegynder
30. juni 2007 - 12:56 #26
Forskellen kan sammenlignes med, om man foretrækker at gå i blåt eller grønt tøj. Det er mangel på kompetance, at du virkelig mener, at den ene er bedre end den anden. Det svarer til, at hvis du ikke kan lide det tøj jeg nu f.eks. har på, og dermed mener, at jeg er direkte inkompetent, bare fordi jeg ikke går i det samme som dig?
Avatar billede mstorgaard Praktikant
30. juni 2007 - 12:57 #27
Er jeg latterlig fordi jeg af vane escaper, som jeg gør? Jeg har ingen steder sagt dig imod med hensyn til din kommentar med '' i forhold til "" (som jeg faktisk vil prøve at gøre til en vane), så jeg kan overhovedet ikke se nogen grund til at du retter dit sidste indlæg til mig!
Avatar billede roenving Novice
30. juni 2007 - 16:37 #28
-- nu har strenge, der er afgrænset af gåseøjne jo nogle andre egenskaber end strenge, der er afgrænset af apostroffer, når det kommer til indsættelse af variabelværdier, derfor brugte jeg gåseøjne i mine eksempler, der jo skulle illustrere forskellen mellem echo og print !o]

-- og det er ikke latterligt at escape, men det er jo tåbeligt, hvis man alligevel konkatenerer variabler ind, der er adskillige måder at lave det anderledes, for også html-kode accepterer apostroffer, så man kan gøre det nemmere på en hel række måder, f.eks.:

echo "<img src='" . $banner_array[$rand] . "' alt=''>";

echo "<img src='$banner_array[$rand]' alt=''>";

echo '<img src="' . $banner_array[$rand] . '" alt="">';
Avatar billede roenving Novice
30. juni 2007 - 16:41 #29
-- og jeg kan også komme med et eksempel, hvor jeg absolut ville escape:

echo "<div onmouseover=\"document.getElementById('enAndenDiv').style.display='block';\" onmouseout=\"document.getElementById('enAndenDiv').style.display='none';\">";
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester