Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

[php] redirect $_get efter id

Skapad av Stox, 2011-02-14 00:20 i Webbutveckling & Programmering

1 119
9 inlägg
0 poäng
Stox
Visningsbild
Hjälte 194 inlägg
0
Hej.

På min sida har jag en lista med länkar som jag vill tipsa mina besökare om.
De radas upp efter ID och skickar besökaren direkt vidare.
Alla länkar ligger i en MySql databas med ID, länk, titel och datum.

Det jag nu skulle vilja fixa är så att man istället för att direkt skickas vidare när man klickar på länken, så skickas man till typ "ut.php?id=6" och därefter så läggs det +1 klick i en klickräknare i databasen.

ut.php kollar alltså om det finns någon länk med ID 6, skickar personen vidare direkt till den länken och ökar antalet klick med 1.

Hur gör jag detta på bästa sätt? Jag har sökt runt efter hur man kan använda $_GET men jag har inte riktigt hittat något som fungerar för mig.

Jag hette tidigare Denocle

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0
typ....

Dra ned alla länkar i en array från databasen.

loopa igenom arrayen med

echo "<a id=" . $dinArrayMedLänkar['id'] . ">" . htmlentities($dinArrayMedLänkar['titel']) . "</a>";

När du ändå har all data i en array kan du dra upp vettig data i $_SESSION.

då har du dina länkar som går till ut.php?id=6

I ut.php kan du tillexempel fixa klickräknare genom att ha en $_SESSION['clicks'] som du plussar på varje gång sidan laddas med ett värde i GET.

sedan.. mja.
Eftersom du har varit fiffig och draigt upp alll din tidigare data i session, så borde du kunna fixa en $_SESSION['1'] = http://hamsterpaj.net eller så.

Dvs. $_SESSION['ettIdNummer'] = http://www.adressendenpekarmot.se

Sedan header("Location: $_SESSION[$_GET['id']]");

Typ sådr. Jätterörig förklaring, förlåt.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

Stox
Visningsbild
Hjälte 194 inlägg
Trådskapare
0

Svar till Erotisk_Eruption [Gå till post]:
Skulle kanske lagt till att jag inte är speciellt bildad i PHP eller databaser.
Jag hänger inte med alls på hur du menar.

Jag har en index sida som includar en annan php-fil som listar alla länkar som max de 20 senaste.

Det enda jag vill är att skapa en ny fil som heter ut.php som senare skickar vidare besökaren till rätt länk och också lägger till ett klick.

Jag hette tidigare Denocle

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0
Svar till Denocle [Gå till post]:
Jag förstår.
Hur ser din include-fil ut? Vad finns i den?





Tillägg av Erotisk_Eruption 2011-02-14 00:52

Tänkte sova nu, men återvänder i morgon igen!

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

Stox
Visningsbild
Hjälte 194 inlägg
Trådskapare
0
-----------------------
<?php

require_once 'connect.php';

$q = mysql_query("SELECT id, lank, title, type, date, clicks FROM posts ORDER BY id DESC LIMIT 20");

$shouts = array();

while ( $r = mysql_fetch_assoc($q) ) {
$posts[] = array(
'id' => $r['id'],
'lank' => $r['lank'],
'title' => $r['title'],
'type' => $r['type'],
'date' => $r['date'],
'clicks' => $r['clicks']
);
}

foreach ( $posts as $p ) {
echo "<tr>".
"<td class='id'>#",$p['id'],"</td>".
"<td class='link'><a href='",$p['>",$p['title'],"</a> <span class='clicks'>",$p['clicks']," klick</span></td>".
"<td class='type'><img src='post/icons/",$p[' width='16' height='16' border='0'></td>".
"<td class='date'>",$p['date'],"</td>".
"</tr>";
}

?>
-----------------------

Så ser den ut nu, clicks visas som 0 eftersom att det än så länge inte ligger några där.

Jag vill alltså ändra:
"<td class='link'><a href='",$p['>"
till:
"<td class='link'><a href='ut.php?id="'>"

Där då ut.php hittar länken med det ID:et, lägger +1 i clicks och sedan skickar vidare besökaren till länken.

Jag hette tidigare Denocle

Stox
Visningsbild
Hjälte 194 inlägg
Trådskapare
0
Koden vill tydligen inte visas korrekt så jag får göra såhär istället.

Forum image

Forum image

Forum image

Jag hette tidigare Denocle

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0
här skulle jag skriva, ja!
Du verkar ha koden ganska fint där (förutom att tables är dåligt :>>)
Vad är problemet som uppstår med href="ut.php?id=" ?

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

Stox
Visningsbild
Hjälte 194 inlägg
Trådskapare
0

Svar till Erotisk_Eruption [Gå till post]:
Det uppstår ingenting alls eftersom att jag inte vet vad jag ska ha i den.

Jag hette tidigare Denocle

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till Denocle [Gå till post]:
Sätt en session_start(); längst upp på alla dina sidor.

Sedan kan du loopa upp alla länkar till $_SESSION['1/2/3/4/5/6'];
for ($i = 0; $i < count($posts); $i++) {
$_SESSION[$i] = $posta['link'];
}

Detta görs på index då alltså.

sedan på ut.php?id=X
session_start(); längst upp
$_SESSION['clicks'] .= 1;

header("Location: $_SESSION[$_GET['id']]");

Typ sådär.


HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE


Forum » Datorer & IT » Webbutveckling & Programmering » [php] redirect $_get efter id

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons