hoi :wink:
Heute erkläre ich euch, wie wir ein Zufallsbild per PHP ausgeben.
folgende Features sind enthalten:
-MySQL-Db anbindung
-einfügen von Bild-URL's einfach per knopfdruck
-Admin-login
-unendlich viele Bild URL's einfügbar
Und das wird gebraucht:
-einige, wenige PHP kenntnisse
-Zeit
-MySQL-DB
-PHP fähiger Webspace
Los geht's !
Also: erstmal erstellen wir in unserer MySQL-Datenbank folgende Tabelle:
CREATE TABLE `bilder` (
`bild` TEXT NOT NULL ,
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY
) TYPE = MYISAM ;
Die Zeile " bilder" speichern wir als Text ab, da manche URL'S elend lang sind. So kann man auch die längsten problemlos abspeichern.
Dann erstellen wir mit unserem beliebigen Editor eine Neue Datei:
show_pics.php
Welche Folgenden COde enthält:
mysql_connect('localhost','root',''); //gib hier deine Daten an
mysql_select_db('test'); //hier auch
$query_rand = mysql_query('SELECT * FROM bilder ORDER BY id DESC');
$fetch_rand = mysql_fetch_array($query_rand);
$query = mysql_query('SELECT * FROM bild WHERE id="'.(rand(1,$fetch_rand['id'])).'"') or die (mysql_error());
if(mysql_num_rows($query)==0)
{
echo 'Es wurden noch keine Bilder in die Datenbank eingetragen.';
}
$fetch = mysql_fetch_array($query);
echo '<img src="'.$fetch['bild'].'" alt="*quiek*">';
Jetzt die Code-Erläuterung:
mysql_connect('localhost','root',''); //gib hier deine Daten an
mysql_select_db('test'); //hier auch
hier wird zu deiner Datanbank connected, damit die Bilder auch abgerufen werden können.
$query = mysql_query('SELECT * FROM bild WHERE id="'.(rand(1,2)).'"') or die (mysql_error());
die funktion rand() erzeugt eine Zufallszahl(englisch random=zufall) zwischen den beiden angegebenen Parametern.
rand(0,10);
Beispielsweise würde eine Zufallszahl zwischen 0 und 10 erzeugen.
$query = mysql_query('SELECT * FROM bild WHERE id="'.(rand(1,$fetch_rand['id'])).'"') or die (mysql_error());
hier wird also alles aus der DB herausgeholt, dass eine id zwischen 1 und der höchsten id in der Db besitzt.
echo '<img src="'.$fetch['bild'].'" alt="*quiek*">';
hier wird das ganze dann (als Bild) ausgegeben.
Nächste Datei:
forumlar.php
Mit folgendem Quelltext:
<?php ob_start(); ?>
<form method="POST" >
<input type="password" name="pwd" /> Geben sie bitte ihr Passwort ein, um ein neues Bild hinzuzufügen.
<input type="submit" name="send" value="GO!" />
</form>
<?php
if($_POST['send'])
{
if($_POST['pwd']) == 'deinGewaehltesPasswort')
{
header ('Location: admin.php?m=yes');
}
else
{
echo 'Falsche Zugangsdaten';
}
}
ob_end_flush();
Hierzu werde ich wohl nicht so viel erläutern müssen. Wenn doch, schickt mir bitte eine PN.
admin.php
Die datei admin.php wird nun mit folgendem Quelltext angelegt:
<?php
if($_GET['m']=='yes')
{
?>
<h2>Neues bild hinzufügen</h2>
<form method="post">
<input type="text" name="new_pic" /><br>
<input type="submit" name="send" value="Bild speichern" />
</form>
<?php
mysql_connect('localhost','root',''); //gib hier deine Daten an
mysql_select_db('test'); //hier auch
if($_POST['send'])
{
$sql = 'INSERT INTO bilder (bild) VALUES ("'.$_POST['new_pic'].'")';
if(! mysql_query($sql))
{
echo 'Das Bild konnte nicht gespeichert werden.';
}
else
{
echo 'Bild wurde gespeichert.<a href="show_pics.php">Hier können sie das Bild abrufen</a>';
}
}
}
else
{
echo 'Sie haben leider nur als Administrator Zutritt';
}
So. ICH hoffe es war hilfreich, und wenn irgendwie Probleme bestehen, dann schreibt mir doch bitte eine PN :wink: