Sideskift problemer i PHP

Tags:    php

Fold kodeboks ind/udPHP kode 


Hej,

Jeg har lavet et galleri system, men kan ikke få mit sideskift til at virke. I koden $naven; er det meningen at sideskiftet skal udskrives, dette sker bare ikke. Er der nogen der kan se hvor fejlen ligger henne, jeg er lidt på bar bund.



7 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 13 karma
Sorter efter stemmer Sorter efter dato
Der er to typer af strenge i PHP (HEREDOC og NOWDOC er andre varianter - dem kan i læse om i manualen)

Den første type er double-quoted. Det er de strenge hvor der bruges " og " (surprise). Den særlige egenskab ved dem er at variable bliver fortolket selvom de står inde i de strenge. Det vil sige:

Fold kodeboks ind/udPHP kode 


Den anden type er single-quoted. Det er de strenge hvor der bruges ' og '... De er kendetegnet ved at variable i den type af strenge ikke bliver fortolket. Derfor:

Fold kodeboks ind/udPHP kode 


Så, der er to løsninger til dit problem.

Enten at du bruger dobbelt-quoted strings og escaper dine " i html'en i strengen (ved at skrive \" istedet for ").

Eller at du bryder strengen der hvor der fremgår variable. Begge løsninger vises herunder:

Fold kodeboks ind/udPHP kode 


@Jacob, {} om variable bruges kun i doublequoted strings, og kun i specielle situationer - det kan dog bruges overalt - men der er ingen grund til det. Det ville for eksempel kunne bruges her:
Fold kodeboks ind/udPHP kode 


Og at bruge echo som du skriver er altså forbudt! Det er $var = 'hej '. $navn . ' bla bla'; og IKKE echo() på variablens navn.



Indlæg senest redigeret d. 06.02.2012 15:07 af Bruger #17015
I dit forloop har du skrevet $Sider og ikke $sider som din variable er navngivet. $Sider bliver sikkert set som 0 eftersom den variable sådan set ikke findes hvorfor du aldrig kommer ind i for-loppet.



ehm... Enten:

Fold kodeboks ind/udPHP kode 


eller

Fold kodeboks ind/udPHP kode 


Du skal kun escape de " som skal være i din HTML kode, ikke indsætte dem om alle dine variable.

Hvis du bruger single quoted strings, skal du konkattenere dine fragmenter af strenge og variable med punktummer.




Godt set, det er sådan en der kræver øl til hele flokken.. :D

Så får jeg dog et problem til, når den udskriver det, så kommer det her frem:

$side $side

Med link til ?kategori=$kategori&side=$side

Hvilket jeg ikke helt kan forstå. Min PHP kode på dem:

Fold kodeboks ind/udPHP kode 


Beklager de mange spørgsmål, er ikke så erfaren inden for PHP endnu.



prøv at sætte {} rundt om dine variabler i din string. Du kan selvfølgelig os bare gøre noget ala:
text .= "text" . echo(variable) . "mere text";



Indlæg senest redigeret d. 04.02.2012 15:57 af Bruger #12408
Så hvis jeg har forstået det rigtigt, er det det her der burde virke? Jeg kan bare ikke få det til det..

Fold kodeboks ind/udPHP kode 





Super, så virker



t