/ 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
Tilretning af liink
Fra : Erik Ginnerskov


Dato : 12-11-05 15:04

Hej NG

I et administrationsmodul til en gæstebog skal jeg have rettet et link, som
åbner en redigeringsmulighed i et udpeget indlæg.

Jeg har fået etableret et ID på hvert indlægs redigeringsformular med denne
kode:

echo "<div id=\"d";
echo "$r\">\n";
[formularen her]
echo "</div>\n";

.... hvor $r er en variabel, som peger på en valgt linje i databasen
(tekstfil). Jeg kan konstatere, at denne del fungerer helt som tænkt: Når
jeg åbner for redigering af et indlæg, har den omgivende div et korrekt ID.

Men nu ville jeg gerne have det link, som åbner formularen til at ramme
netop denne div på siden. I øjeblikket ser linket således ud:

echo "<a class=\"tlink\"
href=\"$PHP_SELF?line=".$r."&amp;row_start=".$_GET[row_start]."\">Ret</a>\n"
;

Linket åbner det rigtige indlæg for redigering, men siden smutter til tops
og det er irriterende, hvis indlægget står i bunden af siden.

Jeg har forsøgt med dette:

echo "<a class=\"tlink\"
href=\"$PHP_SELF#".$r."?line=".$r."&amp;row_start=".$_GET[row_start]."\">Ret
</a>\n";

.... men så virker linket slet ikke mere - formularen åbnes ikke. ;(

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



 
 
Bertel Lund Hansen (12-11-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 12-11-05 18:36

Erik Ginnerskov skrev:

> echo "<a class=\"tlink\"
> href=\"$PHP_SELF?line=".$r."&amp;row_start=".$_GET[row_start]."\">Ret</a>\n"

> Linket åbner det rigtige indlæg for redigering, men siden
> smutter til tops og det er irriterende, hvis indlægget står i
> bunden af siden.

> Jeg har forsøgt med dette:

> echo "<a class=\"tlink\"
> href=\"$PHP_SELF?line=".$r."&amp;row_start=".$_GET[row_start]."\">Ret
> </a>\n";

Du sætter # ind før parametrene. Det må man ikke. Brug:

echo "<a class=\"tlink\"
href=\"$PHP_SELF".$r."?line=".$r."&amp;row_start=".$_GET[row_start]."#".$r."\">Ret</a>\n";

Personligt synes jeg det er nemmere at bruge " til
PHP-anførselstegn og så bruge ' til HTML-anførselstegn. Så ser
det sådan ud (når jeg også benytter mig af at simple variable
inden i " " godt kan oversættes):

echo "<a class='tlink' href='".$PHP_SELF.$r."?line=$r&amp;row_start=".$_GET[row_start]."#$r'>Ret</a>\n";

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

Erik Ginnerskov (12-11-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 12-11-05 21:05

Bertel Lund Hansen wrote:

> Du sætter # ind før parametrene. Det må man ikke. Brug:
>
> echo "<a class=\"tlink\"
>
href=\"$PHP_SELF".$r."?line=".$r."&amp;row_start=".$_GET[row_start]."#".$r."
\">Ret</a>\n";

Sorry, dur ikke. PHP oversætter linket til:

../test/7?line=7&row_start=1#7

.... hvor det burde have set cirka sådan ud:

../test/filnavn.php#7?line=7&row_start=1

Dit forslag giver en fejl404

> echo "<a class='tlink'
>
href='".$PHP_SELF.$r."?line=$r&amp;row_start=".$_GET[row_start]."#$r'>Ret</a
>\n";

Samme fejlfunktion.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Bertel Lund Hansen (12-11-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 12-11-05 23:49

Erik Ginnerskov skrev:

> Sorry, dur ikke. PHP oversætter linket til:
> ../test/7?line=7&row_start=1#7

Undskyld, der var en svipser. Prøv det her i stedet:

echo "<a class=\"tlink\" href=\"$PHP_SELF?line=".$r."&amp;row_start=".$_GET[row_start]."#".$r."\">Ret</a>\n";

> ... hvor det burde have set cirka sådan ud:
> ../test/filnavn.php#7?line=7&row_start=1

Nej, der må ikke være noget før parametrene. Det skal være:

.../test/filnavn.php?line=7&row_start=1#7

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

Erik Ginnerskov (13-11-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 13-11-05 01:23

Bertel Lund Hansen wrote:

> Undskyld, der var en svipser.

Det kan ske selv i de bedste familier. ;)

> echo "<a class=\"tlink\"
>
href=\"$PHP_SELF?line=".$r."&amp;row_start=".$_GET[row_start]."#".$r."\">Ret
</a>\n";

Den kan i det mindste åbne for redigering af det udpegede indlæg. Men siden
kører stadig til top.

> Det skal være:
>
> ../test/filnavn.php?line=7&row_start=1#7

OK, sådan ser linket ud ved hover og sådan står der bagefter i
adresselinjen. Men ...

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Bertel Lund Hansen (13-11-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-11-05 01:45

Erik Ginnerskov skrev:

> Den kan i det mindste åbne for redigering af det udpegede indlæg. Men siden
> kører stadig til top.

Har du et link til siden?

(Tænk at det skulle overgå dig ...)

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

Erik Ginnerskov (13-11-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 13-11-05 02:05

Bertel Lund Hansen wrote:

> Har du et link til siden?

http://hjemmesideskolen.dk/test/adm_guestbook.phps
http://hjemmesideskolen.dk/test/var_inc.phps
http://hjemmesideskolen.dk/test/data.txt

Gå ned til linje 206 / 207 i admin_...

> (Tænk at det skulle overgå dig ...)

Jeg havde håbet, at det viste link var tilstrækkeligt. ;)

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Bertel Lund Hansen (13-11-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-11-05 02:20

Erik Ginnerskov skrev:

> http://hjemmesideskolen.dk/test/adm_guestbook.phps
> http://hjemmesideskolen.dk/test/var_inc.phps
> http://hjemmesideskolen.dk/test/data.txt

Det ser underligt ud i en browser.

> Gå ned til linje 206 / 207 i admin_...

Rundt omkring i koden finder jeg noget i en echo-linje der ser
cirka sådan ud:

<input id=\"t3\" name=\"fsubject\" value=\"$subject\">

Id bliver sat til 'ordet' "t3", men det ligner at det skulle have
været en variabel i stedet for ($t3)?

Jeg kan ikke finde en id der er "7", og en #-henvisning til en
ikke-eksisterende id bevirker at der springes til toppen.

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

Erik Ginnerskov (13-11-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 13-11-05 02:49

Bertel Lund Hansen wrote:

> Det ser underligt ud i en browser.

Prøv at hente min css og læg den ved:

http://hjemmesideskolen.dk/hss-main.css

Så burde det hele falde på plads.

> Rundt omkring i koden finder jeg noget i en echo-linje der ser
> cirka sådan ud:
>
> <input id=\"t3\" name=\"fsubject\" value=\"$subject\">
>
> Id bliver sat til 'ordet' "t3", men det ligner at det skulle have
> været en variabel i stedet for ($t3)?

Nej, den er god nok. Det _er_ en ID og det fungerer upåklageligt.
Input-feltet læser indholdet af datafilens felt for subject, så det kan
redigeres. ID'et t3 bruges alene til at kalde en css-definition.

> Jeg kan ikke finde en id der er "7", og en #-henvisning til en
> ikke-eksisterende id bevirker at der springes til toppen.

Det ID genereres, når man i administrationens visnings-mode klikker på
linket for 'Ret' ved indlæg nr. 7 - med koden:

echo "<div id=\"d";
echo "$r\">\n";

.... linje 179/180. $r er en variabel, der tæller sig frem til linjenummeret
i datafilen.

Test det selv ved at lægge et eller andet sæt login-data i filen var.inc.php
(var_inc.phps) - linje 6 og 7 og åbn adm_guestbook.php.
______________

Nu har jeg fundet fejlen. Jeg havde glemt det lille dumme 'd' i det ID, der
skulle linkes til: <div id="d7">, så dit link skulle altså se sådan ud:

echo "<a class=\"tlink\"
href=\"$PHP_SELF?line=".$r."&amp;row_start=".$_GET[row_start]."#d".$r."\">Re
t</a>\n";

Liden tue ... ;)

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Bertel Lund Hansen (13-11-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-11-05 11:11

Erik Ginnerskov skrev:

> Liden tue ... ;)

Godt at vognen kom til at køre igen.

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

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

Månedens bedste
Årets bedste
Sidste års bedste