mboost-dp1

Hvordan indsætter man %20 i et link i stedet for mellemrum?


Gå til bund
Gravatar #1 - GertK
2. maj 2013 10:56
Hej,

Jeg har et mindre problem som jeg håber jeg kan få lidt hjælp til.

Jeg har lavet en simpel form hvor jeg kan indtaste forskellig informationer fx navnet på en person og så bliver det gemt i en database i MySQL.

Så har jeg lavet en php side hvor jeg kan se informationerne fra databasen. På denne side er er det også muligt at redigerer i de informationer der er gemt i databasen.

Mit problem er, at når jeg vil redigere noget, generer php koden et link med de informationer der i databasen, men er der et mellemrum mellem 2 ord fx: John Smidt, går linket i stykker efter John. Det er som om den ikke kan læse mellemrummet og derefter tage det/de efterfølgende ord med.

Dvs. linket burde se sådan ud:
http://www.minside.dk/data/data.php?id=9&navn=... Smidt&adresse=Alle veje 25&tlf=8652588&[email protected]&mode=edit

men ser sådan ud:
http://www.minside.dk/data/data.php?id=4&navn=...

Koden der genererer linket ser således:

Print "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&navn=" . $info['navn'] . "&adresse=" . $info['adresse'] . "&tlf=" . $info['tlf'] ."&email=" . $info['email'] . "&mode=edit>Edit</a> </td>";


Hele koden ser således ud:

1. <?php
2. // Connects to your Database
3.
4. // pulls the data from the database
5. $data = mysql_query("SELECT * FROM adresser ORDER BY hold ASC")
6. or die(mysql_error());
7.
8. Print "<h2>Adresse</h2><p>";
9. Print "<table width=600 border=1 cellpadding=3>";
10. Print "<tr><th width=100>Person info</th><th width=100>address</th><th width=100>Hold</th><th width=200>Email</th><th width=100 colspan=2>Admin</th></tr>"; Print "<td colspan=6 align=right><a href=" .$_SERVER[’PHP_SELF’]. "?mode=add>Add Contact</a></td>";
11. while($info = mysql_fetch_array( $data ))
12. {
13. Print "<tr><td>".$info['navn'] . " <br> ".$info['adresse'] . " <br> ".$info['tlf'] . " <br> ".$info['email'] . "</td> ";
14. Print "<td>".$info['adresse'] . "</td> ";
15. Print "<td>".$info['tlf'] . "</td> ";
16. Print "<td> <a href=mailto:".$info['email'] . ">" .$info['email'] . "</a></td>";
17. // START koden der generer linket
18. Print "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&navn=" . $info['navn'] . "&adresse=" . $info['adresse'] . "&tlf=" . $info['tlf'] ."&email=" . $info['email'] . "&mode=edit>Edit</a></td>";
19. // SLUT koden der generer linket
20. Print "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=remove>Remove</a></td></tr>";
21. }
22. Print "</table>";
23. ?>


Jeg kan ikke ikke gennemskue hvad jeg skal gøre for at linket bliver "genereret" fuldt ud også med mellemrum.

Nogle der kan give et råd eller har/kan komme med løsningen?
Gravatar #3 - bodhiBit
2. maj 2013 11:44
Er der nogen bestemt grund til at du hiver alle dine værdier ind i edit-linket..? Som regel plejer man kun at angive id.. Så får du heller ikke et problem med mellemrum..
Gravatar #4 - GertK
3. maj 2013 15:56
Hej Igen,

Jeg fik løsningen i et andet forum. Hvis andre skal bruge det endte linket med at se således ud:

 Print "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&navn=" . urlencode($info['navn']) . "&adresse=" . urlencode($info['adresse']) . "&tlf=" . urlencode($info['tlf']) ."&email=" . $info['email'] . "&mode=edit>Edit1</a></td>"; 
Gravatar #5 - markjensen
3. maj 2013 16:04
Hvorfor bruger du ikke anførselstegn ( " ) om dine attributværdier?
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login