Avatar billede lallex Nybegynder
04. november 2007 - 11:30 Der er 21 kommentarer

Lidt ID hjælp her

Hej alle sammen.

Jeg har en kode her;

<html>
<title>Jeg elsker dig!</title>
</html>

<?
include "config.php";
echo '<h2><center>' . $_GET['navn'] . ', Jeg elsker dig!<br /></center></h2>';
    mysql_query("INSERT INTO `hits` SET id = '$id', navn = '$navn'") or die(mysql_error());
    mysql_query("UPDATE hits SET hits = hits+1 WHERE navn = '$_GET[navn]'");
?>

Jeg skal bruge noget hjælp til at lave koden om så den ikke printer;

http://www.plauq.dk/love/n.php?navn=Eksperten

ud i browseren men

http://www.plauq.dk/love/?nID=123

(overstående ID er bare et eksempel)

Håber i forstår hvad jeg mener og vil hjælpe mig med det.

Mange tak.
Avatar billede jakobdo Ekspert
04. november 2007 - 15:20 #1
Printer ud i browseren?
Så skal du lave dine links anderledes.
Avatar billede lallex Nybegynder
04. november 2007 - 17:53 #2
Hjælp mig med det :) Tak
Avatar billede lallex Nybegynder
04. november 2007 - 17:53 #3
Mener ikke i browseren. Men URL til stedet, skal ende på nID=[ID] og ikke navn=Eksperten
Avatar billede jakobdo Ekspert
04. november 2007 - 18:14 #4
Men det er jo din opgave som koder, at du skal lave linket anderledes.

Så du skal ikke skrive:

<a href="noget.php?navn=jakobdo">LINK</a>

Men du skal så lave:

<a href="?id=12345">LINK</a>
Avatar billede lallex Nybegynder
04. november 2007 - 19:48 #5
Men hvor i koden skal jeg rette det?
Avatar billede jakobdo Ekspert
04. november 2007 - 20:01 #6
Du har ikke vist noget kode som udskriver links, så det ved jeg ikke. :o)
Avatar billede lallex Nybegynder
04. november 2007 - 20:08 #7
Nej.. Men i adresse linjen kommer der til at stå:
www.plauq.dk/love/n.php?navn=eksperten
Jeg vil have rettet koden så man skal gå ind på
http://www.plauq.dk/love/n?id=123
For at se det. Så den tilføjer til sin DB' og printer Id'et ud i adresse linjen i stedet for.
Avatar billede jakobdo Ekspert
04. november 2007 - 20:31 #8
Du bliver stadig nød til at vise noget kode, det du har vist indtil videre er slet ikke nok til at besvare dit spørgsmål.
Avatar billede lallex Nybegynder
04. november 2007 - 20:33 #9
Jeg kan ikke finde ud af, at lave koden så det bliver som jeg vil have det. Det er det jeg vil have hjælp til :)
Avatar billede jakobdo Ekspert
04. november 2007 - 20:40 #10
Men vis mig koden som udskriver linket: www.plauq.dk/love/n.php?navn=eksperten
Så må vi se på det.
Avatar billede pidgeot Nybegynder
04. november 2007 - 20:43 #11
Der er vist sket en af følgende ting her:

1) Den kode du viser os har intet med dit spørgsmål at gøre
2) Du har ikke formuleret dit spørgsmål ordentligt, og du vil i virkeligheden have dit script til at kunne fungere hvis man linker til det på den måde

Overvej at forklare tingene helt fra bunden - hvad sker der nu, hvilken del skal laves om, og hvad skal det ende med at blive til.
Avatar billede jakobdo Ekspert
04. november 2007 - 20:49 #12
pidgeot: Det kunne jeg ikke har formuleret bedre selv! :o)
Avatar billede lallex Nybegynder
04. november 2007 - 21:01 #13
index.php
<link href="style.css" rel="stylesheet" type="text/css" />
<form action="http://www.plauq.dk/love/n.php" method="get">
<p>
<center>
<label for="navn">Skriv navn: </label>
<input id="navn" name="navn" type="text">
<input type="submit" name="create" value="Jeg elsker dig!">
</center>
</p>
</form>
<?
include "config.php";
$date = date("d/m-y H:i");
$navn = $_POST['navn'];
if(empty($navn) || empty($nyhed)){
}else{
$query = mysql_query("insert into hits (navn,date) values ('$navn','$date')");
}
echo "Jeg elsker <a href="?id=">DIG!</a>";
}
?>


n.php

<html>
<title>Jeg elsker dig!</title>
</html>

<?
include "config.php";
echo '<h2><center>' . $_GET['navn'] . ', Jeg elsker dig!<br /></center></h2>';
    mysql_query("INSERT INTO `hits` SET id = '$id', navn = '$navn'") or die(mysql_error());
    mysql_query("UPDATE hits SET hits = hits+1 WHERE navn = '$_GET[navn]'");
?>


Der er begge de koder, som mit site består af.
Avatar billede jakobdo Ekspert
04. november 2007 - 21:25 #14
Du bruger method="get"
din action er n.php

Ligeledes har du et input felt der hedder:
<input id="navn" name="navn" type="text">
Avatar billede lallex Nybegynder
04. november 2007 - 21:42 #15
Vil du hjælpe med at rette det?
Avatar billede jakobdo Ekspert
05. november 2007 - 07:59 #16
Nej, for det giver stadig ikke mening. :o)

Din jeg elsker dig er en statisk form, så der er intet der vil kunne ændres til ID=123 eller navn=eksperten
Avatar billede lallex Nybegynder
05. november 2007 - 13:48 #17
Hvordan skal jeg så lave det?
Avatar billede lallex Nybegynder
05. november 2007 - 13:49 #18
kig på lovemacher.dk
Sådan mener jeg
Avatar billede jakobdo Ekspert
05. november 2007 - 15:12 #19
Siden virker ikke.
Avatar billede netexpose Nybegynder
17. november 2007 - 22:18 #20
Jeg tror at det lallex fisker efter er en lille rewrite rule... Så derfor har dit lille kode eksempel ikke særligt meget med det du søger efter at gøre (hvis jeg da har forstået dig rigtigt).

Opret en fil i din rod (hvis den ik' findes i forvejen) kaldet ".htaccess".

Vær opmærksom på, at alt hvad der står i denne fil, kan lægge din side ned, og at indholdet afhænger lidt af den PHP installation/opsætning din hoster har.

Men.. prøv at smide følgende ind:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME}  -d
RewriteRule  ^.*$  -  [L]

RewriteCond %{REQUEST_FILENAME}  -f
RewriteRule  ^.*$  -  [L]

RewriteRule ^/([A-Za-z0-9]+)$ /$1 [R]
RewriteRule !^(css|images|files)/ index.php [NC,L]

Herefter sætter du index.php (i webroden) til at include din fil, og hvis du virkelig skal gejle den,
Når du nu er i gang med at lave rewrite rules, så ville det være ret oplagt at lave  kunstige URL'er istedet for det $_GET sjov... Det ville bestemt øge din pagerank hos Google. (uhh et guldkorn fra mig ;)
Avatar billede netexpose Nybegynder
17. november 2007 - 22:30 #21
(hov kom til at sende inden jeg blev færdig, kikset)

såå glem lige de sidste 2 linier.... jeg fortsætter fra "Herefter sætter du index.php (i webroden) til at include din fil, og hvis du virkelig skal gejle den,"

..så bruger du den her funktion til at fange hvad der står i URI:

function getURI() {
    //split URI into array
    $request_URI = explode('/', $_SERVER['REQUEST_URI']);
    $script_name = explode('/',$_SERVER['SCRIPT_NAME']);
   
    for($i= 0;$i < sizeof($script_name);$i++) {
    if ($request_URI[$i] == $script_name[$i])
            {
            unset($request_URI[$i]);
            }
    }
    $uri = array_values($request_URI);
}

Så har du et array som du kan bruge til at fange hvert led i uri.

Perfekt grundlag til at bygge en lille controller.

Så kan du lynhurtigt lave kunstige URI's som f.eks. 'http://www.plauq.dk/sammenlign/navne/'...

Og så slipper du for at bruge $_GET og $_POST som er pagerank minus bigtime..

Google er helt pjattet med den slags :p
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester