Gå til innhold

Subject: Tidkrevende utfordring (for litt drevne php'ere)


Anbefalte innlegg

Jeg holder for tiden på å modifisere en gjestebok til min side. Jeg tar utgangspunkt i en som en annen har laget.

 

For å ikke spamme forumet med 400 linjer med kode, så har jeg lagt ut filen (en kjempe liten zipfil) her

 

Det jeg vil ha endret ligger vel sånn ca fra linje 163-220. Jeg har kun programert php i 2 dager, derfor ber jeg dere om litt hjelp. Det er en gjestebok som leser/skriver all data til en flat fil. Det er et par ting som kun har med layouten (måten ting blir lest ut fra filen, og plassert ut i browser vennlig version) å gjøre som jeg vil endre.

 

1 (middels). Blir det lagt inn et nytt innlegg "skyves" alle de andre bakover. Dvs at første siden alltid er full (10innlegg) og når det kommer et nytt, så blir det 10. innlegget lagt til side to. Det jeg vil at dere (super hjelpsomme) vil få til er at når en side er full, så vil det med det neste innlegget opprettes en ny side, hvor bare dette innlegget står alene. Skjønner?

 

2 (middels). Dere har sikkert sett hva som skjer hvis man poster en lang link i forumet? (eksempel her. Hele siden blir strekt etter hvor langt det sammenhengende ordet er. (Prøv å skriv et innlegg full av "a" i et ord, i ett innlegg)

Det som trengs her, er en eller annen funksjon som etter at et ord er over 70 bokstaver (tror dette er hvor mange tegn det er plass til) så settes det inn en "<br>" inni ordet, og ordet fortsetter etter "<br>"'en. Dette må jo justeres litt, siden vi ikke kan forvente at det laange ordet starter helt til venstre i innlegget, hva hvis det starter halveis ut? (da må det settes inn <br> etter 35 ord)

 

Legg gjerne ved kommentarer i kodingen sånn at jeg også kan lære noe av dette!

Hvis noen orker å se på dette (se på det som en utfordring, det gjør jeg :)) så tusen takk på forhånd.

Lenke til kommentar
Videoannonse
Annonse
Er det at du vil ha eks. 8 inlegg på starten i stedet for på slutten du tenker på? Slik at alt utenom første side alltid har 10 innlegg?

 

Det er akuratt det jeg tenker på. Burde vel egentlig ikke bli noe vanskelig å fikse vel? Når f. eks side 3 er har ti innlegg, så forblir de innleggene i side 3. De blir ikke dyttet en etter en over til side 4 osv.

 

Btw: Tusen takk for hjelpen

 

EDIT: Side 3 kan gjerne bli til side 4, så lenge alle innleggene som var i side 3 da blir flyttet til side 4. Hvis du forstår..

Lenke til kommentar

Tusen takk, det funket greit.

 

Har nå et nytt spørsmål: Prøver nå å få til smileys i gjesteboken. Har fått til et slikt system som i dette forumet. Altså når man trykker på smiles så kommer en lignende kommando: "[supersmiley]"

Hvordan skal jeg fikse slik at [supersmiley] blir til en bilderef? (<img src=...> osv)

 

Skal jeg gjøre dette før informasjonen blir skrevet til tekstfilen slik at htmltagen kommer i tekstfilen? Eller gjøre det når tekstfilen leses, slik at når den leser [supersmiley] så blir den gjort om til henvisende bilderef?

 

Er det noen spesiell måte jeg må gjøre dette på? eller blir det kun en hel haug med "if" er. Altså:

If [smiley1] gjør smiley1 til bilderef1

If [smiley2] gjør smiley2 til bilderef2

If [smiley3] gjør smiley3 til bilderef3

If [smiley4] gjør smiley4 til bilderef4.. osv

Lenke til kommentar
  • 2 uker senere...
Bruk en switch-setning du...

 

switch ($smiley) {



 case ":)":

   $s = 'smil.gif';

 break;



 osv....





}



echo "<img src="$s">";

 

Les i php manualen hvis du trenger å vite mer om switch...

 

 

da blir det lagt inn bildet smil.gif automatisk når noen skriver ":)" da?

Lenke til kommentar

Tror den første metoden vil funke litt dårlig når jeg tenker meg om... :)

 

Noe slikt vil funke bedre:

 

$smiley['shortname'] = ':)';

$smiley['image'] = '<img src="smile.gif">';



$innlegg= str_replace($smiley['shortname'],$smiley['img'],$innlegg);

 

Så kan man bare lage en for løkke samt øke antall smilies i arrayet...

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å
  • Hvem er aktive   0 medlemmer

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