/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hits=hits+1 ved click
Fra : Stig Sørensen


Dato : 26-09-03 18:29

Hejsa.

For *engang* skyld har jeg endelig lavet noget selv..
Jeg har dog et lille problem, jeg ved ikke hvordan jeg får rækken 'hits' i
min tabel til at lægge 1 til hver gang der trykkes på et link.

Her er koden (det virker);

<?php
$conn = mysql_connect("localhost", "dontdoit_dk", "******");
mysql_select_db("dontdoit_dk",$conn);

$query = "SELECT link,id,titel,beskrivelse,navn,email FROM mobil_links WHERE
kategori='personlige' ORDER BY id DESC";
$result = mysql_query($query);

if(mysql_num_rows($result)>0) {
while($row = mysql_fetch_row($result)) {
echo "<a href='http://".$row[0]."' target='_blank'
class='links'>".$row[2]."</a><p class='links_beskrivelse'>".$row[3]."<br
/>Tilføjet af: <a href='mailto:".$row[5]."'>".$row[4]."</a></p>
";
}
}
else {
echo "Der er ingen links i denne kategori..";
}
?>

Har søgt i manualen, men har ikke kunne finde noget brugbart.
Det er noget med mysql_query("UPDATE hits SET hits=hits+1");
Men hvordan fortæller jeg den, at den skal lægge 1 til når der trykkes på
linket? row[0]

På forhånd tak
--
Mvh Stig Sørensen

Gratis SMS, Java Spil, Ringetoner, Baggrunde
-- > http://Mobil.DontDoIt.dk < -- Alt Gratis!



 
 
Leonard (26-09-2003)
Kommentar
Fra : Leonard


Dato : 26-09-03 20:30

"Stig Sørensen" <nomail@nomail.invalid> wrote:

>Men hvordan fortæller jeg den, at den skal lægge 1 til når der trykkes på
>linket? row[0]

Du kunne linke til en redir.php?link=$row[0] og så lade redir.php om
at lave en update på din tabel for derefter at bruge header("location:
$link");
Det vil nok være en bedre ide at linke til redir-filen med et id til
linket, så er det nemmere at update med WHERE id='$id'.
Så skal du godt nok hive linkadressen ud af tabellen før du kan sætte
en ny location.
Og husk at der ikke må være noget output til browseren før header,
heller ikke en tom linie <?php
--
med venlig hilsen
Leonard - http://leonard.dk/

Stig Sørensen (26-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 26-09-03 21:55


"Leonard" <dennemailerikketilspam@tdc-broadband.dk> wrote in message
news:1i49nvctubqpibi29n8hnrtvqfucmuiei9@4ax.com...
(snip)
> Du kunne linke til en redir.php?link=$row[0] og så lade redir.php om
> at lave en update på din tabel for derefter at bruge header("location:
> $link");
> Det vil nok være en bedre ide at linke til redir-filen med et id til
> linket, så er det nemmere at update med WHERE id='$id'.
> Så skal du godt nok hive linkadressen ud af tabellen før du kan sætte
> en ny location.
> Og husk at der ikke må være noget output til browseren før header,
> heller ikke en tom linie <?php

Hej Leonard.

Super god idé du har der med id.

side1:

<?php include('links.php'); ?>
<?php
$conn = mysql_connect("localhost", "dontdoit_dk", "*****");
mysql_select_db("dontdoit_dk",$conn);

$query = "SELECT link,id,titel,beskrivelse,navn,email FROM mobil_links WHERE
kategori='personlige' ORDER BY id DESC";
$result = mysql_query($query);

if(mysql_num_rows($result)>0) {
while($row = mysql_fetch_row($result)) {
echo "<a href='index.php?site=redir&amp;id=".$row[1]."'>".$row[2]."</a>
<p class='links_beskrivelse'>".$row[3]."<br />Tilføjet af: <a
href='mailto:".$row[5]."'>".$row[4]."</a></p>
";
}
}
else {
echo "Der er ingen links i denne kategori..";
}
?>

Her kan du se linket. Jeg ville mene det skulle være ok. <a
href='index.php?site=redir&amp;id=".$row[1]."'>".$row[2]."</a>


redir.php :

<?php
if(!empty($_GET['id'])) {
mysql_connect("localhost","dontdoit_dk","*******");
mysql_select_db("dontdoit_dk");

mysql_query("UPDATE mobil_links WHERE id='$id' SET hits=hits+1");
$res = mysql_query("SELECT hits WHERE id='$id' FROM mobil_links");
$row = mysql_fetch_array($res);

print $row["hits"];
?>

Lad os bare holde det til det simple i starten. Her vil jeg bare updatede
hits med 1 og derefter skrive ud hvor mange hits der er.
Der mangler dog noget, de resultere i en error :

Parse error: parse error, unexpected $ in
/customers/dontdoit.dk/dontdoit.dk/httpd.www/test/redir.php on line 11

Linje 11 er: ?>

Vil selv mene jeg er tæt på :)
Hvad kunne der være galt?

Hvis du skal se det visuelt:
http://test.dontdoit.dk/index.php?site=links_personlige Det er 'Min
Hjemmeside' som jeg har prøvet at gøre det på.
--
Mvh Stig Sørensen

Gratis SMS, Java Spil, Ringetoner, Baggrunde
-- > http://Mobil.DontDoIt.dk < -- Alt Gratis!



Leonard (26-09-2003)
Kommentar
Fra : Leonard


Dato : 26-09-03 22:29

"Stig Sørensen" <nomail@nomail.invalid> wrote:

>Linje 11 er: ?>

Du mangler at slutte din if, så et lille } skulle kunne gøre det.
Men har $id nogen værdi ellers skal du også have en $id=$_GET['id'];
--
med venlig hilsen
Leonard - http://leonard.dk/

Stig Sørensen (27-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 27-09-03 11:00


"Leonard" <dennemailerikketilspam@tdc-broadband.dk> wrote in message
news:ppb9nvcfct8vhn640r9ccujbv54b7lf5k4@4ax.com...
> "Stig Sørensen" <nomail@nomail.invalid> wrote:
>
> >Linje 11 er: ?>
>
> Du mangler at slutte din if, så et lille } skulle kunne gøre det.
> Men har $id nogen værdi ellers skal du også have en $id=$_GET['id'];

Arh ja.

Har lige gjort det endnu mere simpelt, så den ikke skal udskrive noget, kun
SET hits=hits+1

<?php
if(!empty($_GET['id'])) {
mysql_connect("localhost","dontdoit_dk","********");
mysql_select_db("dontdoit_dk");

mysql_query("UPDATE mobil_links WHERE id = '".$_GET['id']."' SET
hits=hits+1");

}
?>

Det resultere i en blank side, troede det virkede, men i min database er
hits stadig 0.
Det er som om den ikke får id'et med sig, har jeg ret?
--
Mvh Stig Sørensen

Gratis SMS, Java Spil, Ringetoner, Baggrunde
-- > http://Mobil.DontDoIt.dk < -- Alt Gratis!



Dan Molberg (27-09-2003)
Kommentar
Fra : Dan Molberg


Dato : 27-09-03 11:54

"Stig Sørensen" <nomail@nomail.invalid> wrote in message
news:ycddb.48$wx6.21@news.get2net.dk...
-cut-
> Det er som om den ikke får id'et med sig, har jeg ret?

Hent min link counter fra http://beyond.repair.dk/?m=PHP der kan du så rette
den til som du vil have den.

--
Hvem læser dette?
Tilykke du er den første:)
MVH Dan Molberg



Stig Sørensen (27-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 27-09-03 13:23


"Dan Molberg" <beyond@repair.void> wrote in message
news:bl3ptb$uqq$1@news.net.uni-c.dk...
> "Stig Sørensen" <nomail@nomail.invalid> wrote in message
> news:ycddb.48$wx6.21@news.get2net.dk...
> -cut-
> > Det er som om den ikke får id'et med sig, har jeg ret?
>
> Hent min link counter fra http://beyond.repair.dk/?m=PHP der kan du så
rette
> den til som du vil have den.

Hej Dan.

Ellers tak, alt for meget der skal rettes så. Jeg mangler bare at få id'et
med over, tror jeg da.
Så skulle det virke
--
Mvh Stig Sørensen

Gratis SMS, Java Spil, Ringetoner, Baggrunde
-- > http://Mobil.DontDoIt.dk < -- Alt Gratis!



Johan Holst Nielsen (27-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 27-09-03 13:51

Stig Sørensen wrote:

> "Leonard" <dennemailerikketilspam@tdc-broadband.dk> wrote in message
> news:ppb9nvcfct8vhn640r9ccujbv54b7lf5k4@4ax.com...
>
>>"Stig Sørensen" <nomail@nomail.invalid> wrote:
>>
>>
>>>Linje 11 er: ?>
>>
>>Du mangler at slutte din if, så et lille } skulle kunne gøre det.
>>Men har $id nogen værdi ellers skal du også have en $id=$_GET['id'];
>
>
> Arh ja.
>
> Har lige gjort det endnu mere simpelt, så den ikke skal udskrive noget, kun
> SET hits=hits+1
>
> <?php
> if(!empty($_GET['id'])) {
> mysql_connect("localhost","dontdoit_dk","********");
> mysql_select_db("dontdoit_dk");
>
> mysql_query("UPDATE mobil_links WHERE id = '".$_GET['id']."' SET
> hits=hits+1");
>
> }
> ?>
>

Det hedder også... UPDATE mobil_links SET hits=hits+1 WHERE id =
'".$_GET['id']."'";

:)

mvh
Johan


Stig Sørensen (27-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 27-09-03 14:21


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bl413t$dpp$2@sunsite.dk...
> Det hedder også... UPDATE mobil_links SET hits=hits+1 WHERE id =
> '".$_GET['id']."'";

Ha! Super Johan! Nu virker det jo.
Har næsten lavet det selv, bortset lige fra din linje der :)

> :)
>
> mvh
> Johan
Tusind takker..

--
Mvh Stig Sørensen

Gratis SMS, Java Spil, Ringetoner, Baggrunde
-- > http://Mobil.DontDoIt.dk < -- Alt Gratis!



Stig Sørensen (27-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 27-09-03 15:00


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bl413t$dpp$2@sunsite.dk...
> Det hedder også... UPDATE mobil_links SET hits=hits+1 WHERE id =
> '".$_GET['id']."'";

Jeg var lige hurtig nok.
Har fundet ud af at jeg ikke skal linke således: index.php?site=redir(osv)..

men redir.php..

Altså:

echo "<a href='redir.php&amp;id=".$row[1]."' target='_blank'>
Når jeg så trykker på et link siger den 404 NOT FOUND.

Nok fordi den nu ikke får Id'et med over.

HVordan skal det så være?

<?php
if(!empty($_GET['id'])) {
mysql_connect("localhost","dontdoit_dk","********");
mysql_select_db("dontdoit_dk");

$Row = mysql_fetch_array(mysql_query("SELECT * FROM mobil_links WHERE id =
'".$_GET['id']."'"));

mysql_query("UPDATE mobil_links SET hits=hits+1 WHERE id =
'".$_GET['id']."'");

}
header("Location: $Row[URL]");
?>

Vil tro det er noget med if(!empty($_GET['id'])) { der skal ændres?

Påf forhånd tak, det er det sidste, så skulle det virke
--
Mvh Stig Sørensen

Gratis SMS, Java Spil, Ringetoner, Baggrunde
-- > http://Mobil.DontDoIt.dk < -- Alt Gratis!



Johan Holst Nielsen (27-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 27-09-03 16:20

Stig Sørensen wrote:
> "Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
> news:bl413t$dpp$2@sunsite.dk...
>
> Jeg var lige hurtig nok.
> Har fundet ud af at jeg ikke skal linke således: index.php?site=redir(osv)..

Jow du skal så ;) Men det gør du ikke ;)

> men redir.php..
>
> Altså:
>
> echo "<a href='redir.php&amp;id=".$row[1]."' target='_blank'>
> Når jeg så trykker på et link siger den 404 NOT FOUND.

Det skal være
echo "<a href='redir.php?id=".$row[1]."' target='_blank'>";

Altså &amp; skal byttes ud med ? :)

mvh
Johan


Stig Sørensen (27-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 27-09-03 17:32


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bl49rg$odh$1@sunsite.dk...
> Altså &amp; skal byttes ud med ? :)

Ja klart :)

Så, sidste gang og så virker det. 100% sikkert.

Mit redir.php :

<?php
if(!empty($_GET['id'])) {
mysql_connect("localhost","dontdoit_dk","vEmasoA4");
mysql_select_db("dontdoit_dk");


mysql_query("UPDATE mobil_links SET hits=hits+1 WHERE id =
'".$_GET['id']."'");

}

$Row = mysql_fetch_array(mysql_query("SELECT * FROM mobil_links WHERE id =
'".$_GET['id']."'"));

header("Location: $Row[links]");
?>

Den kommer med :
Warning: Cannot add header information - headers already sent by (output
started at /customers/dontdoit.dk/dontdoit.dk/httpd.www/test/redir.php:15)
in /customers/dontdoit.dk/dontdoit.dk/httpd.www/test/redir.php on line 19

Kan ses her: http://test.dontdoit.dk/index.php?site=links_personlige

Den er dælme tæt på nu da :)
--
Mvh Stig Sørensen

Gratis SMS, Java Spil, Ringetoner, Baggrunde
-- > http://Mobil.DontDoIt.dk < -- Alt Gratis!



Johan Holst Nielsen (27-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 27-09-03 18:14

Stig Sørensen wrote:
> Den kommer med :
> Warning: Cannot add header information - headers already sent by (output
> started at /customers/dontdoit.dk/dontdoit.dk/httpd.www/test/redir.php:15)
> in /customers/dontdoit.dk/dontdoit.dk/httpd.www/test/redir.php on line 19
>
> Kan ses her: http://test.dontdoit.dk/index.php?site=links_personlige
>
> Den er dælme tæt på nu da :)

Lyder til du har et enkelt mellemrum eller linieskift INDEN <?php

Prøv at tjekke det :)

mvh
Johan


Stig Sørensen (27-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 27-09-03 18:29


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bl4gh8$kbi$1@sunsite.dk...
> Lyder til du har et enkelt mellemrum eller linieskift INDEN <?php

Det er der (desværre) ikke.

Uh, jeg vil så gerne have det til at virke.
Den adder fint 1 hits hver gang, men den vil ikke redirecte.

Hvis du eller andre har brug for at se koden mere overskueligt:

http://test.dontdoit.dk/links_personlige.txt
http://test.dontdoit.dk/redir.txt

Det kan ses her ved at trykke på 'Min Hjemmeside'
http://test.dontdoit.dk/index.php?site=links_personlige

http://test.dontdoit.dk/redir.php - her kommer den så med en fejlkode, jeg
antager det er fordi den ingen ID har ??
--
Mvh Stig Sørensen

Gratis SMS, Java Spil, Ringetoner, Baggrunde
-- > http://Mobil.DontDoIt.dk < -- Alt Gratis!



Stig Sørensen (27-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 27-09-03 19:15


"Stig Sørensen" <nomail@nomail.invalid> wrote in message
news:SNjdb.177$Lz2.138@news.get2net.dk..
Gud hvor er jeg dum, som altid :)

Kolonnen i tabellen hed ikke links men link.

Nå, tusind tak for jeres tid og hjælp, det virker nu :)
--
Mvh Stig Sørensen

Gratis SMS, Java Spil, Ringetoner, Baggrunde
-- > http://Mobil.DontDoIt.dk < -- Alt Gratis!



Søg
Reklame
Statistik
Spørgsmål : 177518
Tips : 31968
Nyheder : 719565
Indlæg : 6408647
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste