a href van php naar html
Dit werkt in php, maar omdat ik de onmouseover/out van javascript wil gebruiken, moet ik hetzelfde resultaat krijgen in html.
In php krijg ik bij id=12: cart.php?action=add&id=12
en in html krijg ik: cart.php?action=add&id=' . $_GET['id']'
Wat gaat er nu mis?
Die $_GET variabele hoort tussen php-tags te staan, dus het is logisch dat het in gewoon HTML fout gaat.
Je bent de echo vergeten, evenals wat extra quotes.
@Frank Klopt, maar het gaat om het principe.
Ja hoor, dat kan prima. Zal ik een voorbeeldje voor je maken?
Hier is zover ik zelf ben gekomen:
<html>
<head>
<script type="text/javascript">
function swapImg(targetImg, imgToSwap) {
targetImg.src = imgToSwap;
}
</script>
</head>
<body>
// Hoe het werkt zonder onmouseover/out effect in php:
Code (php)
1
2
3
2
3
<?php
echo '<a href='_MODIFIED_CART/cart.php?action=add&id=" . $_GET['id'] . "'>DRUK HIER!</a><br>';
?>
echo '<a href='_MODIFIED_CART/cart.php?action=add&id=" . $_GET['id'] . "'>DRUK HIER!</a><br>';
?>
// Hoe eigenlijk alles werkt in html, behalve het doorgeven van het id:
<a href="_MODIFIED_CART/cart.php?action=add&id=' . $_GET['id'] . '"><img src="cartje2.gif" onmouseover="swapImg(this,'cartje2-.gif')" onmouseout="swapImg(this,'cartje2.gif')" border=0></a></td>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Jonathan
<td align="center"><a href="#" onclick="history.go(-1)"><img src="backje.gif" onmouseover="swapImg(this,'backje-.gif')" onmouseout="swapImg(this,'backje.gif')" border=0></a></td>
De onmouseover/out code van js werkt, ik wil niet eens het id nummer doorgeven, en html geeft het nummer gewoon door. Hoe is dat eigenlijk mogelijk??
dus de dat hele <a href... ding gewoon echoën, en dan de javascript enkele quotes (') escapen (dit vervan maken \' )
werkend voorbeeld voor je gemaakt.
Ik heb een Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
<a href="_MODIFIED_CART/cart.php?action=add&id=1234"><img src="cartje2.gif" onmouseover="swapImg(this,'cartje2-.gif')" onmouseout="swapImg(this,'cartje2.gif')" border=0></a></td>
Eigenlijk is dus het probleem. Het variabele id doorgeven werkt alleen in php en onmouseover/out alleen in javascript. Waar ik zelf aan heb zitten denken is het <a href> gedeelte tussen php en daar dan weer tussen de javascript functie, maar dat werkt eigenlijk niet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
$id = 1234;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Rollover Link</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function init () {
var egg1 = new Image ();
egg1.src = 'egg1.jpg';
var egg2 = new Image ();
egg2.src = 'egg2.jpg';
var _egg = document.getElementById ('egg');
_egg.onmouseover = function () {
return swap_img (this, egg2);
}
_egg.onmouseout = function () {
return swap_img (this, egg1);
}
}
function swap_img (obj, img) {
obj.src = img.src;
}
window.onload = init;
</script>
<style type="text/css">
a img {
border: 0px;
}
</style>
</head>
<body>
<p>Klik op het plaatje...</p>
<p><a href="?id=<?php echo $id; ?>"><img id="egg" src="egg1.jpg" title="klik..."></a></p>
</body>
</html>
$id = 1234;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Rollover Link</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function init () {
var egg1 = new Image ();
egg1.src = 'egg1.jpg';
var egg2 = new Image ();
egg2.src = 'egg2.jpg';
var _egg = document.getElementById ('egg');
_egg.onmouseover = function () {
return swap_img (this, egg2);
}
_egg.onmouseout = function () {
return swap_img (this, egg1);
}
}
function swap_img (obj, img) {
obj.src = img.src;
}
window.onload = init;
</script>
<style type="text/css">
a img {
border: 0px;
}
</style>
</head>
<body>
<p>Klik op het plaatje...</p>
<p><a href="?id=<?php echo $id; ?>"><img id="egg" src="egg1.jpg" title="klik..."></a></p>
</body>
</html>
Code (php)
1
<a href="_MODIFIED_CART/cart.php?action=add&id=<?php echo '1234' ?>"><img src="cartje2.gif" onmouseover="swapImg(this,'cartje2-.gif')" onmouseout="swapImg(this,'cartje2.gif')" border=0></a></td>
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
<a href="_MODIFIED_CART/cart.php?action=add&id="><img src="cartje2.gif" onmouseover="swapImg(this,'cartje2-.gif')" onmouseout="swapImg(this,'cartje2.gif')" border=0></a>
is inderdaad de oplossing voor het probleem!!
@Jan
Dank je voor de code. Grappig om te zien op hoeveel manieren je hetzelfde resultaat kunt krijgen:)
Jonathan schreef op 10.10.2006 22:54:
@Jan
Dank je voor de code. Grappig om te zien op hoeveel manieren je hetzelfde resultaat kunt krijgen:)
Dank je voor de code. Grappig om te zien op hoeveel manieren je hetzelfde resultaat kunt krijgen:)
Graag gedaan hoor. Nog een opmerking: de manier waarop ik het doe is bewust zo gekozen, omdat je je JavaScript in een extern bestand zou kunnen zetten. Nu staat het bovenin de pagina, maar je kunt het net zo goed met het src attribuut includen. Voordeel is, dat je een JavaScript op meer dan 1 pagina kunt gebruiken, ongeveer te vergelijken met CSS bestanden. Je site wordt er modulair van en dus gemakkelijker te onderhouden.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Jan Koehoorn schreef op 10.10.2006 22:58:
Graag gedaan hoor. Nog een opmerking: de manier waarop ik het doe is bewust zo gekozen, omdat je je JavaScript in een extern bestand zou kunnen zetten. Nu staat het bovenin de pagina, maar je kunt het net zo goed met het src attribuut includen. Voordeel is, dat je en JavaScript op meer dan 1 pagina kunt gebruiken, ongeveer te vergelijken met CSS bestanden. Je site wordt er modulair van en dus gemakkelijker te onderhouden.
Jonathan schreef op 10.10.2006 22:54:
@Jan
Dank je voor de code. Grappig om te zien op hoeveel manieren je hetzelfde resultaat kunt krijgen:)
Dank je voor de code. Grappig om te zien op hoeveel manieren je hetzelfde resultaat kunt krijgen:)
Graag gedaan hoor. Nog een opmerking: de manier waarop ik het doe is bewust zo gekozen, omdat je je JavaScript in een extern bestand zou kunnen zetten. Nu staat het bovenin de pagina, maar je kunt het net zo goed met het src attribuut includen. Voordeel is, dat je en JavaScript op meer dan 1 pagina kunt gebruiken, ongeveer te vergelijken met CSS bestanden. Je site wordt er modulair van en dus gemakkelijker te onderhouden.
Dit soort handigheidjes past Jan vaak meteen al toe als hij voorbeeldcode uitwerkt. (ik vind het een hele kunst elke keer) Hij is echt een groot voorstander van modulair sites maken, wat overigens een hele goede zaak is.
Verder ben ik blij dat het gelukt is, misschien een punt van aandacht voor jou Jonathan:
- Probeer de vraagstelling zo concreet (duidelijk) mogelijk te doen. ik ben er namelijk van overtuigd dat als de vraag duidelijk was geweest je meteen een oplossing aangereikt had gekregen.
Edit:
taalgebruik
taalgebruik
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
Moet zeggen dat ik tot een week of 5 geleden nog niets wist van php, MySQL en css, maar dat ik met behulp daarvan toch een aardig ogende website in elkaar heb weten te draaien. Maar zonder jullie hulp, en dan met name die van Jan, had ik overigens veel dingen niet voor elkaar gekregen. Zodra mijn website af is zal ik hem wel eens laten zien. Kunnen jullie zien waaraan jullie een steentje hebben bijgedragen:)
Jonathan
PS css en sommige delen van php zet ik uiteraard in een extern bestand. Omdat mijn javascript code slechts 4 regels is en maar in 3 of 4 van de 15 pagina's nodig heb vond ik dat niet echt noodzakelijk. Maar misschien verandert dat nog hoor... want ik ben van mening, eerst zo snel mogelijk alles in een editor gooien en zodra ik tijd heb ga ik de code eens helemaal langs om het op te schonen.
Gewijzigd op 01/01/1970 01:00:00 door Jonathan