[PHP] <a name="$id"></a> i.c.m. PHP

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een pagina die d.m.v. een for loop een overzicht geeft van een aantal records in een mysql database. Via deze pagina is het ook mogelijk nieuwe records toe te voegen. Als dit gebeurt is wordt er een mailtje gestuurd naar de webmaster.
Nu leek het me handig wanneer in dit mailtje een link staat welke direct naar het ingevoerde record springt. Dit wil ik dus doen door bij elk record een <a name="$id"></a> tag te plaatsen, en in het mailtje de link .../pagina.php#$id te geven.
Dit werkt niet, ik vermoed omdat php de pagina pas genereert op het moment dat de link wordt aangeklikt, klopt dit of zou dit wel moeten werken of is er een betere manier?

Acties:
  • 0 Henk 'm!

  • Tom-my
  • Registratie: November 2000
  • Laatst online: 21-05 16:08

Tom-my

w03iz0rz

*kuch* een anchor dus :)

"Then there was the man who drowned crossing a stream with an average depth of six inches."


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Het zou gewoon moeten werken, doet het bij mij in ieder geval wel. Als je nou je linkje en je anchor eens post dan kunnen wij zeggen waar het aan ligt. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Wat voegt deze opmerking toe? Hij werkt al met een anchor.

@TS:
Kijk eens in de source van de pagina of de anchor objecten wel worden aangemaakt zoals je het wil.

En ik (als trouwe lezer van W&G) heb geleerd dat je tegenwoordig gewoon aan een html tag het attribuut id kunt gebruiken om naar te verwijzen, dus:
<tr id="$id"> in de pagina en <a href="blabla.php#$id"> als link in je e-mail.
Ik ga er voor het gemak van uit dat je een tabel gebruikt om je gegevens weer te geven.

Kijk trouwens ook in de source van de e-mail of de id wel juist wordt geparsed.

Acties:
  • 0 Henk 'm!

  • LoBbY_1
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:43
<a name>Linknaam</a> ? Ik zet er altijd nog een stukje text tussen...aar of dat nou uit mag maken?

Een echte golver is nooit uitgeput


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

LoBbY_1 schreef op 25 mei 2004 @ 15:35:
<a name>Linknaam</a> ? Ik zet er altijd nog een stukje text tussen...aar of dat nou uit mag maken?
Maakt bij mijn weten niets uit, maar idd, dat doe ik ook altijd. :) Ik zie alleen nergens dat TS dat niet doet. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Tom-my
  • Registratie: November 2000
  • Laatst online: 21-05 16:08

Tom-my

w03iz0rz

bigbeng schreef op 25 mei 2004 @ 15:34:
[...]

Wat voegt deze opmerking toe? Hij werkt al met een anchor.

@TS:
Kijk eens in de source van de pagina of de anchor objecten wel worden aangemaakt zoals je het wil.

En ik (als trouwe lezer van W&G) heb geleerd dat je tegenwoordig gewoon aan een html tag het attribuut id kunt gebruiken om naar te verwijzen, dus:
<tr id="$id"> in de pagina en <a href="blabla.php#$id"> als link in je e-mail.
Ik ga er voor het gemak van uit dat je een tabel gebruikt om je gegevens weer te geven.

Kijk trouwens ook in de source van de e-mail of de id wel juist wordt geparsed.
[anti flame mode]Oe goed opgemerkt trouwe W&G lezer, aan zn topic naam te zien wistie niet meer hoe het heette. Excusez moi voor het proberen te helpen. Dat laat ik wel over aan de trouwen W&G lezers..[/anti flame mode]

'NY Way aangezien net mn browser bugde en ik mn reply niet kon editten nadat mn browser hing, was iemand anders me al voor en had mn reply langer geweest.

"Then there was the man who drowned crossing a stream with an average depth of six inches."


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Ik vermoed dat je PHP code gewoon niet klopt. Show eens wat?

En houden we het aub vriendelijk heren? ;)

[ Voor 29% gewijzigd door curry684 op 25-05-2004 15:39 ]

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Tom-my
  • Registratie: November 2000
  • Laatst online: 21-05 16:08

Tom-my

w03iz0rz

LoBbY_1 schreef op 25 mei 2004 @ 15:35:
<a name>Linknaam</a> ? Ik zet er altijd nog een stukje text tussen...aar of dat nou uit mag maken?
Dat hoeft niet, ik doe het zelf meestal niet, hoef ik niet apart op de opmaak te letten van mn kopjes.

"Then there was the man who drowned crossing a stream with an average depth of six inches."


Acties:
  • 0 Henk 'm!

  • Jimbolino
  • Registratie: Januari 2001
  • Laatst online: 20-09 08:54

Jimbolino

troep.com

Dit werkt niet
wat gebeurt er wel? foutmeldingen? wat is er anders dan je verwacht?

The two basic principles of Windows system administration:
For minor problems, reboot
For major problems, reinstall


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Jimbolino schreef op 25 mei 2004 @ 15:42:
[...]

wat gebeurt er wel? foutmeldingen? wat is er anders dan je verwacht?
Nu leek het me handig wanneer in dit mailtje een link staat welke direct naar het ingevoerde record springt. [..] Dit werkt niet
Lijkt me duidelijk? :?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Met 'dit werkt niet' bedoel ik dat de pagina niet naar het anchor point (deze naam was inderdaad al erg lang uit mijn geheugen verdwenen...) gaat.
offtopic:
Ik snap de zin van het uitleggen wat er fout gaat maar hier leek me dat wel duidelijk.


Verder de code:
code:
1
2
3
4
5
// Print idref voor link in mail

        $idref=$record[0];

        echo "<a name=\"$idref\"></a>";

$idref heeft wel een waarde, dat heb ik al getest.
Verder staat er in de link dus .../overzicht.php#$idref

[ Voor 34% gewijzigd door Verwijderd op 25-05-2004 15:51 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 25 mei 2004 @ 15:48:
Met 'dit werkt niet' bedoel ik dat de pagina niet naar het anchor point (deze naam was inderdaad al erg lang uit mijn geheugen verdwenen...) gaat.
offtopic:
Ik snap de zin van het uitleggen wat er fout gaat maar hier leek me dat wel duidelijk.
En waar blijft het stukje code waarin we kunnen zien hoe je het linkje maakt? :?:+

Druk je de code hierboven af op je site of in die mailtjes? Als je dat in de mailtjes afdrukt, dan heeft MvdBrink hier onder mij gelijk, en anders kun je proberen of je met concatenaten een goed resultaat krijgt.

[ Voor 67% gewijzigd door NMe op 25-05-2004 15:58 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

De HTML code voor de anchor is niet goed, dit moet HREF zijn ipv NAME (mits dit in de e-mail moet komen) :
code:
1
        echo "<a href=\"$idref\"></a>";


Voor de code in de tabel zelf is het beter om de regel van Jimbolino te gebruiken.

[ Voor 42% gewijzigd door Verwijderd op 25-05-2004 16:02 ]


Acties:
  • 0 Henk 'm!

  • Tom-my
  • Registratie: November 2000
  • Laatst online: 21-05 16:08

Tom-my

w03iz0rz

Verwijderd schreef op 25 mei 2004 @ 15:53:
De HTML code voor de anchor is niet goed, dit moet HREF zijn ipv NAME:
code:
1
        echo "<a href=\"$idref\"></a>";
{slap}http://www.hypergurl.com/anchors.html{/slap}

"Then there was the man who drowned crossing a stream with an average depth of six inches."


Acties:
  • 0 Henk 'm!

  • Jimbolino
  • Registratie: Januari 2001
  • Laatst online: 20-09 08:54

Jimbolino

troep.com

twee strings voeg je meestal samen met een . ertussen

en voor eigen gemak gebruik ik altijd enkele en dubbele quotes door elkaar
code:
1
echo '<a name="'.$idref.'"></a>';

[ Voor 34% gewijzigd door Jimbolino op 25-05-2004 16:01 ]

The two basic principles of Windows system administration:
For minor problems, reboot
For major problems, reinstall


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Jimbolino schreef op 25 mei 2004 @ 15:56:
twee strings voeg je meestal samen met een . ertussen
Maar de methode van EmmerP werkt uiteraard ook (zelf gebruik ik ook altijd de concatenatie operator overigens)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Het is toch niet zo dat je eerst de links selecteert uit de database, vervolgens de insert doet van een nieuwe link en dan de links genereert ofzo? :+

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Ik snap niet echt wat het probleem is van de TS?

Als er een pagina is met daarin een hele lap (al dan niet geparsde html code) en af en toe een stukje code als dit ertussen:

code:
1
<a name="id"></a>


...dan gaat dat volgens mij gewoon helemaal werken door diezelfde pagina aan te roepen (al dan niet vanuit een e-mailbericht) met een linkje als:
code:
1
<a href="pagina.php#id">link</a>


Het is wel zo dat als je een linkje maakt vanuit een e-mail, dat je dan moet werken met '3d':

offtopic:
Ik heb daar een keer een topic over geopend, dan zou je even moeten zoeken voor het juiste gebruik van 3d, want hoe het precies zit weet ik niet meer zo uit het hoofd.


PHP:
1
$message = '<a href=3d"pagina.php#id">link</a>';


Als hij niet het gewenste resultaat bereikt dan heeft dat toch echt te maken met de PHP code, oftewel het parsen.

En of je dan gebruik maakt van concatenatie is een keuze; ik gebruik het wel altijd.

[ Voor 53% gewijzigd door Verwijderd op 25-05-2004 16:20 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
In ieder geval werkt <tr id=$idref> wel dus bedankt!

Acties:
  • 0 Henk 'm!

Verwijderd

Hm, das wel erg makkelijk he; het probleem negeren en een andere oplossing zoeken ;)
Succes verder.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Een anchor-naam moet volgens mij (zoals alle name-attributen) met een letter beginnen. Alleen een ID gaat volgens mij dan sowieso niet werken.

[ Voor 11% gewijzigd door Bosmonster op 25-05-2004 16:24 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Beide varianten werken, het is maar net waar je de voorkeur aangeeft. Ik heb simpele voorbeeld code voor EmmerP, kan hij zelf (of anderen) een keus maken.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<body>
<p>Overzicht 1</p>
<table>
<?php
for ($i=1;$i<8;$i++) {
    echo "<tr id=\"".$i."\"><td>".$i."</td></tr>";
}
?>
</table>
<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;
<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;
<p>Overzicht 2</p>
<table>
<?php
for ($i=8;$i<16;$i++) {
    echo "<tr><td><a name=\"".$i."\">".$i."</a></td></tr>";
}
?>
</body>
</html>

code:
1
2
3
4
5
6
<html>
<body>
<a href="id.php#1">nr 1</a>
<a href="id.php#11">nr 11</a>
</body>
</html>

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Bosmonster schreef op 25 mei 2004 @ 16:24:
Een anchor-naam moet volgens mij (zoals alle name-attributen) met een letter beginnen. Alleen een ID gaat volgens mij dan sowieso niet werken.
Klik voor de gein eens op een link naar een anchor uit een bepaalde post.... #20825006 voor eerste post in dit topic. ;) Mag dus zeker wel.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

NMe84 schreef op 25 mei 2004 @ 16:32:
Klik voor de gein eens op een link naar een anchor uit een bepaalde post.... #20825006 voor eerste post in dit topic. ;) Mag dus zeker wel.
Dat is dus fout :P
En verder heet zoiets een fragment identifier, geen anchor.

[ Voor 9% gewijzigd door Rickets op 25-05-2004 16:38 ]

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Rickets schreef op 25 mei 2004 @ 16:37:
[...]

Dat is dus fout :P
En verder heet zoiets een fragment identifier, geen anchor.
Het is misschien fout, maar het werkt wel. :P Dat het slecht is dat het hier gebruikt wordt heeft geen twijfel. ;)

En ik heb het in mijn post wel degelijk over een anchor. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Waarom werkt het dan wel als het wel is gedefineerd als (and I quote)

"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".")."...

[ Voor 13% gewijzigd door Verwijderd op 25-05-2004 17:18 ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Verwijderd schreef op 25 mei 2004 @ 17:18:
Waarom werkt het dan wel als het wel is gedefineerd als (and I quote)

"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".")."...
Omdat browsermakers zich niet altijd aan de regeltjes houden ;)

Wil niet zeggen dat je het als developer beter wel kan doen natuurlijk, aangezien je nooit weet welke browser zich wel en niet aan de regels houdt. Of dat in de toekomst misschien ineens wel gaat doen.
Pagina: 1