# (#) gaat fout, urlencode() werkt niet
Vele van jullie kennen vast wel de mogelijk om via een url bijv.:
http://www.htmlcodetutorial.com/linking/anameexample.html#purchasing
Direct naar de link <a name="purchasing"> wordt verzonden. In plaats van de top van de pagina.
Nu heb ik een script:
Als je dit formulier verzet krijg je het volgende URL:
.../?id=$row['nummer']#$row['id']
Bijvoorbeeld:
.../?id=1#4
Dat is niet het geval. Er komt namelijk dit te staan, bijv.:
.../?id=1%234
%23 is kenelijk het zelfde als een #? Hoe los ik dit probleem op?
Ik wil namelijk gewoon ?id=1#4 hebben als ik het formulier verzend.
Met vriendelijke groeten,
Melroy van den Berg
http://www.htmlcodetutorial.com/linking/anameexample.html#purchasing
Direct naar de link <a name="purchasing"> wordt verzonden. In plaats van de top van de pagina.
Nu heb ik een script:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
echo "<select name=\"id\">";
while($row = mysql_fetch_array($query) {
echo "<option value=\"".$row['nummer']."#".$row['id']."\">".$row['naam']."</option>";
}
?>
echo "<select name=\"id\">";
while($row = mysql_fetch_array($query) {
echo "<option value=\"".$row['nummer']."#".$row['id']."\">".$row['naam']."</option>";
}
?>
Als je dit formulier verzet krijg je het volgende URL:
.../?id=$row['nummer']#$row['id']
Bijvoorbeeld:
.../?id=1#4
Dat is niet het geval. Er komt namelijk dit te staan, bijv.:
.../?id=1%234
%23 is kenelijk het zelfde als een #? Hoe los ik dit probleem op?
Ik wil namelijk gewoon ?id=1#4 hebben als ik het formulier verzend.
Met vriendelijke groeten,
Melroy van den Berg
Gewijzigd op 01/01/1970 01:00:00 door Melroy van den Berg
de # niet gebruiken, er gaan nou eenmaal niet alle tekens in een get goed mee, het beste is om het bij letters en cijfers te houden.
Waarschijnlijk als je het er op een andere manier mee zend, gaat het wel ;-) (bijvoorbeeld in de <form>, ik weet alleen niet of dit kan, omdat je geen getwaarden (index.php?id=2) mee kan sturen in de <form>, als de method op GET staat.
Maar misschien kan het wel met een # ...
Maar misschien kan het wel met een # ...
Wat dacht je van gewoon een # neer zetten ipv # ?
Een # neerzetten ipv # krijg je het zelfde resultaat.
Maar ik wil namelijk wel een #... op het eind, omdat je anders telkens de pagina moet scrollen, dus dat is geen optie.
<form action="#..." method="get"> werkt niet.
EDIT:
Het is gelukt om method="post" ervan te maken. Alleen lukt het niet om:
< form action="index.php#$row['id']" ervan te maken. Dus hoe stuur je dan ook nog die $row['id'] mee, waardoor het later in de <form action="" terecht kan komen?
Zoiets :S
action="index.php#$_POST['id']" dat lukt niet?
Maar ik wil namelijk wel een #... op het eind, omdat je anders telkens de pagina moet scrollen, dus dat is geen optie.
<form action="#..." method="get"> werkt niet.
EDIT:
Het is gelukt om method="post" ervan te maken. Alleen lukt het niet om:
< form action="index.php#$row['id']" ervan te maken. Dus hoe stuur je dan ook nog die $row['id'] mee, waardoor het later in de <form action="" terecht kan komen?
Zoiets :S
action="index.php#$_POST['id']" dat lukt niet?
Gewijzigd op 01/01/1970 01:00:00 door Melroy van den Berg
dat zou toch gewoon moeten werken?=\
Nou eigenlijk niet, want het row['nummer'] en row['id'] zijn met elkaar verbonden.
Het ligt dus aan wat je voor row['naam'] kiest.
Daarom staat het hier ook in een while (in een drop down selectie).
Het ligt dus aan wat je voor row['naam'] kiest.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
echo "<select name=\"id\">";
while($row = mysql_fetch_array($query) {
echo "<option value=\"".$row['nummer']."#".$row['id']."\">".$row['naam']."</option>";
}
?>
echo "<select name=\"id\">";
while($row = mysql_fetch_array($query) {
echo "<option value=\"".$row['nummer']."#".$row['id']."\">".$row['naam']."</option>";
}
?>
Daarom staat het hier ook in een while (in een drop down selectie).
Gewijzigd op 01/01/1970 01:00:00 door Melroy van den Berg
Probeer eens:
Ik denk niet dat dit mijn probleem oplost?
Heb je het geprobeerd?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
echo "<select name=\"id\">";
while($row = mysql_fetch_array($query) {
echo "<option value=\"".$row['nummer']."#".$row['id']."\">".$row['naam']."</option>";
}
?>
echo "<select name=\"id\">";
while($row = mysql_fetch_array($query) {
echo "<option value=\"".$row['nummer']."#".$row['id']."\">".$row['naam']."</option>";
}
?>
Dit moet gewoon werken
@Jan Koehoorn
Ja ik heb het inderdaad geprobeerd. Ik krijg gewoon de mappen en de naam van het huidige bestand. Het probleem zit echter in de number sign, die veranderd in een %23 (Method=GET). En met Method=POST dan moett je het getal in de action="" zetten, maar dit NUMMER hangt af van wat je kiest en is anders dan het ID.
@ceasar
Heb je het geprobeerd?
Nee dat werkt niet. Je krijg dan als resultaat:
?id=56%2374
ipv.
?id=56#74
Ja ik heb het inderdaad geprobeerd. Ik krijg gewoon de mappen en de naam van het huidige bestand. Het probleem zit echter in de number sign, die veranderd in een %23 (Method=GET). En met Method=POST dan moett je het getal in de action="" zetten, maar dit NUMMER hangt af van wat je kiest en is anders dan het ID.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$query="SELECT * FROM
`ldadm_honden`
LEFT JOIN (`ldadm_leden`)
ON (ldadm_leden.lid_id=ldadm_honden.lid_id)";
?>
$query="SELECT * FROM
`ldadm_honden`
LEFT JOIN (`ldadm_leden`)
ON (ldadm_leden.lid_id=ldadm_honden.lid_id)";
?>
@ceasar
Heb je het geprobeerd?
Nee dat werkt niet. Je krijg dan als resultaat:
?id=56%2374
ipv.
?id=56#74




