Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Linkkiruletti + admin

thuge94 [23.07.2005 21:48:40]

#

Eli tämmönen pikkunen systeemi, joka ottaa linkin TXT filusta ja näyttää sitten yhden linkin randomina ruletissa. Mukana myös admin osio, josta voi poistaa linkkejä, lisätä linkkejä tai tyhjentää linkkiruletin.
Käyttöönotto:Tee ruletti.txt ja chmod 666. Sitten includella ruletti.php jonnekin missä ruletti näytetään.

ruletti.php

<?php
// Avataan ruletti.txt, jossa linkit on
$file = file("ruletti.txt");
// RandomFunktio
$i = array_rand($file);
$taulu = explode("¤", $file[$i]);
// Näytetään RandomLinkki
echo "<a href=\"".$taulu[0]."\" target=\"_blank\">".$taulu[1]."</a>";
?>

ruletti_admin.php

<html>
<head>
<title>Linkkiruletti  hallinta</title>
</head>
<body>
<br><br><?php
@session_start(); // Alotetaan session
$admin = "admin"; // Muuta $admin muuttujan arvo salasanaksesi
if($op == "in") {
´// Rekisteröidään salasana sessioniin
session_register('pass');
$_SESSION['pass'] = $_POST['password'];
// Headeri
header("Location: ".$PHP_SELF."");
}
if($op == "ulos") { // Uloskirjautuminen
session_unregister('pass');
header("location: ruletti.php");
}
if($_SESSION['pass'] == $admin) { // Jos täsmää...
?>
<br><p>Tervetuloa hallintaan!</p><br><a href="?op=ulos">Kirjaudu ulos</a><br><p>Lisää linkki rulettiin:</p><br><?php
if($op == "lisaa") {
if($os == "" && $name == "" or $os == "http://") { // katotaan tyhjät kentät
echo "Unohdit kirjoittaa sivuston nimen tai osoitteen! <br><br>";
}
else
{ // Muussa tapauksessa...
$line = "".$os."¤".$name."\n";
$f = fopen("ruletti.txt", "a");
fwrite($f, $line);
fclose($f);
echo "Lisäys onnistui!<br><br>";
}
}
?>
<form action="ruletti_admin.php?op=lisaa" method="post"><b>Linkin url</b><input type=text name="os" value="http://"><br><b>Sivuston nimi</b><input type=text name="name"><input type=submit value="Lisää linkki"></form><br><p>Poista linkkejä ruletista:</p><br><a href="?ac=tyhjenna">Tyhjennä koko ruletti</a><br><br><?php
if($ac == "tyhjenna") {
$tyhjennettava = fopen("ruletti.txt", "w");
fclose($tyhjennettava);
echo "Ruletti tyhjennetty<br><br>"; // Ruletin tyhjennyskohta loppui
}
if($ac == "delete") {
 // Linkin yksittäinen poisto
$poist = file("ruletti.txt");
$writepoist = fopen("ruletti.txt", "w");
for($i = 0; $i < count($poist); $i++) {
$poistettavat = explode("¤", $poist[$i]);
if($_GET['id'] != trim($poistettavat[0])) {
fwrite($writepoist, $poist[$i]);
}
}
fclose($writepoist);
// Tää viesti näytetään jos poisto onnistu
echo "Linkin poistaminen onnistui! ";
}
echo"<br><br>Valitse poistettava linkki: ";
// Nyt valitaan linkki joka halutaaan poistaa
$fileb = file("ruletti.txt");
$fileb = array_reverse($fileb);
for($i = 0; $i < count($fileb); $i++) {
$t = explode("¤", $fileb[$i]);
echo "<a href=\"ruletti_admin.php?ac=delete&id=".$t[0]."\">".$t[1]."</a><br>";
}
?>
<small>&copy; Thuge94</small></body></html>
<?php
// Jos ei olla kirjauduttu, näytetään lomake...
}
else
{
echo "<form action=\"ruletti_admin.php?op=in\" method=\"post\"><b>Salasana</b><input type=\"password\" name=\"password\"><input type=\"submit\" value=\"ok\"></form>";
}
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta