[PHP] Link Changer

Requiem

Well-known member
ID: 107226
L
13 Mai 2006
10.236
788
bin ziemlicher Anfänger was php angeht. Also wenn es ganz einfach ist, nicht lachen ;)

Ich habe eine php Seite und möchte im footer bereich Links zu anderen Seiten von mir haben. Da sollen immer so drei nebeneinanderstehen. Insgesamt hab ich aber knapp 20 Seiten die angezeigt werden sollen. Deshalb wäre es geil, wenn ich die so reinpacken könnte, dass beim ersten Aufruf Link 1-3 angezeigt wird, bei aufruf 2 Link 4 - 6 usw.

ist das irgendwie machbar? Hab auch DB also wäre auch über MySQL machbar.
 
wenn darauf fragen kommen könnte das auch mir helfen.. also antwortet! :mrgreen:

@BaChHo ich selbst hab leider ... keine Ahnung ...
 
also entweder machst ne kombi aus:

Cookies+JavaScript
oder aber du machst
Sessions+PHP

Ne Datenbank ist da nicht zwigend notwendig.
 
wenn sessions nutzt, fällt mir dazu ein:
nimmst $_SESSION['irgendeinname'], setzt das, wenns den wert nicht gibt auf 0

liest halt 3 links aus der db aus mit limit $_SESSION['irgendeinname'],$_SESSION['irgendeinname']+3
die lässt dann anzeigen

PHP:
<?php
$_SESSION['irgendeinname']=$_SESSION['irgendeinname']+3;
?>

dadrunter.

(x = $_SESSION['irgendeinname'])
und wenn die anzahl von $_SESSION['irgendeinname'] die verfügbaren links übersteigt, halt wieder von 0 an

das nur n ansatz ^^ bzw. ne spontane idee, vielleicht hilfts dir ja

kannst das auch via zufall lösen, entweder beim limit, oder direkt als id vom link

oder schreibst die in ne variable/array/textdatei, und dann da auch wieder via sessions/zufall

so in der art:

PHP:
<?php
$zufallslink[]="<a href='trallala1' target='_blank'>blablabla1</a>";
$zufallslink[]="<a href='trallala2' target='_blank'>blablabla2</a>";
$zufallslink[]="<a href='trallala3' target='_blank'>blablabla3</a>";
$zufallslink[]="<a href='trallala4' target='_blank'>blablabla4</a>";
$zufallslink[]="<a href='trallala5' target='_blank'>blablabla5</a>";
$zufallslink[]="<a href='trallala6' target='_blank'>blablabla6</a>";
$zufallslink[]="<a href='trallala7' target='_blank'>blablabla7</a>";
$zufallslink[]="<a href='trallala8' target='_blank'>blablabla8</a>";


srand ((double) microtime() * 1000000);
echo $zufallslink[rand(0,count($zufallslink))]." ".$zufallslink[rand(0,count($zufallslink))]." ".$zufallslink[rand(0,count($zufallslink))]; 
?>
 
Zuletzt bearbeitet:
also session nutzt ich nicht, müsste aber mal gucken, ob es sinn macht, das einzubauen, wenns geht aber lieber ohne ;)

edit:aber das mit dem Zufallslink klappt gut ;) habs noch ein klein wenig modifiziert, so dass er immer drei anzeigt :) danke schön.
 
Zuletzt bearbeitet:
kannst den code auch kopieren ..., sollte funzen.
nur mom gibts halt auch die gefahr, dass nen link mal doppelt unten steht

kannst ja ne if bedingung reinwerfen um das zu verhindern :mrgreen:

war ja auch nur n ansatz. vielleicht fällt wem noch was clevereres ein

oder du hängst hinten an die url ne variable dran, und machst dass dann via $_GET

und dann halt auf jeder seite $_GET['irgendeinname']=$_GET['irgendeinname']+3.

quasi dasselbe
 
Zuletzt bearbeitet:
wie würde das mit dem $_GET

denn in dem Beispiel aussehen, das du oben gegeben hast?
 
hängst halt oben immer ne variable dran z.b.
www.deine-domain.de/dateiname.php?bliblub=xxxx


das x is halt die $_GET['bliblub']
wenn keine $_GET da (!$_GET['bliblub'])
ist das halt 0

und erhöht sich pro seitenaufruf um 3

dann kannst (wenn bei meinem beispiel bleibst) dann echo $zufallslink[$_GET['bliblub-1']]." ".$zufallslink[$_GET['bliblub-2']]." "$zufallslink[$_GET['bliblub-3']];

sollte funktionieren. hab ich allerdings nich getestet grad

und halt ne abfrage drin, wenn $_GET['bliblub'] > count($zufallslinks), ist halt das bliblub wieder 0, dann fängt das von vorn an

kannst auch in der zufalls geschichte die zufallszahl mit $temp speichern, udn gucken ob die nächste dieselbe ist, wenn ja => noch mal, ansonsten okay.

aber is glaub zuviel zeilen für so was simples
 
Wie wär's denn mit folgendem Ansatz:
PHP:
$links = array();
array_push($links, 'https://www.google.de');
array_push($links, 'https://www.klamm.de');
array_push($links, 'https://www.spiegel.de');
array_push($links, 'https://www.heise.de');
array_push($links, 'https://www.techcrunch.com');
array_push($links, 'https://www.ajaxian.com');
array_push($links, 'https://www.prototypejs.org');

shuffle($links);

for ($i=0; $i<3; $i++)
{
  echo array_pop($links).'<br/>';
}
Intuitiv, einfach und garantiert zufällig.