Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » PHP » Wer kann mir ein kleine Script schreiben?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
03.01.2005, 20:56 Uhr
~...
Gast



Zitat von ~...:
Für absolute Anfänger in PHP empfehle ich dir dieses Tutorial. Damit kann jeder nackte Anfänger sehr schnell Fortschritte machen, auch wenn er nicht die leiseste Ahnung von Programmieren hat.


Niemand will dich hier als absoluter Anfänger abstempeln, aber als Einstieg ist dieses Tutorial trotzdem sehr gut geeignet. Du wirst hier sogar lernen nen kleinen Login, Guestbook, Poll, usw. zu schreiben, auch wenn diese nicht so wirklich ausgereift sind und zum Thema Sicherheit viel einbüßen. Als PHP Referenz ist natürlich www.php.net die Nummer eins und die dazugehörige Dokumentation erklärt sogar den Umgang mit Klassen in PHP4/5. Also ich wünsch dir einen guten Einstieg in PHP! Auf dass du deinen Traum verwirklichen kannst! :ugly:
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
04.01.2005, 03:59 Uhr
Donar



So, ich habe mal mit dem Script angefangen! Wer mir helfen will, kann mir wirklich gerne helfen!

Also, was ich gemacht habe:
Ich habe ein zwei MySQL Tabellen erstellt. Eine für Kategorien und die andere für die Spiele.
Ich habe ein Formular erstellt um Kategorien hinzuzufügen
Ich habe ein Formular erstellt um Spiele hochzuladen. Dieses Formular trägt fast alles in die Datenbank ein!

Meine Probleme die ich jetzt noch hab sind:
Beim Formular für die Spiele eine Kategorieauswahl erstellen, die automatisch die Kategorien aus der Kategorie Tabelle benutzt. Außerdem müssen Mehrere Kategorie-IDs in ein Feld der Spieletabelle eingebunden werden (in etwa: "2; 4; 7").

Im Menü "Games" müssen alle Kategorien erscheinen und auf irgendeine weise verlinkt werden, dass sich eine Seite mit Spielen in dieser Kategorie öffnet

Auf einer Kategorieseite müssen alle in der Kategorie enthaltenen Spiele Alphabethisch aufgelistet werden und auf Seiten verteilt werden. Diese Kategorieseiten müssen also irgendwie erstellt werden!

Für jedes Spiel muss ein Popup generiert werden! Am besten eine php-Seite die man dann beispielsweise so anwählt: "http://blabla.de/popup.php&gameid=22" Außerdem muss das Script zwischen Shockwave und Flash unterscheiden können! Denn Shockwave wird so eingebunden:


Code:

<object classid="clsid:166B1BCA-3F9C-11CF-8075-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=7,0,2,0" width="512" height="384">
  <param name="src" value="Filename.dcr">
  <embed src="Filename.dcr" pluginspage="http://www.macromedia.com/shockwave/download/" width="512" height="384">
  </embed>
</object>



und Flash so:

Code:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="550" height="420">
  <param name="movie" value="Filename.swf">
  <param name="quality" value="high">
  <embed src="3footninja2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="420"></embed>
</object>



aber das sollte mit einer if else anweisung funktionieren, da ja in der SQL Tabelle vermerkt ist, ob es ein normals Flash file oder ein Shockwave ist!

Die Klicks auf die Spiele müssen gezählt werden und eine Top 10 muss angelegt werden! Wenn die klicks erstmal gezählt werden kann man die ja gewiss nach Klicks sortieren und die 10 Ersten einträge auslesen oder so!

Eine Home seite muss angelegt werden auf der alle Kategorien mit der Anzahl der enthaltenen Spiele aufgelistet werden.

Ist gewiss noch mehr zu machen aber mehr fällt mir grad nicht ein!

Wer mir dabei helfen will oder einfach Tipps geben will, kann das gerne machen! Ich habe immerhin heute erst mit PHP angefangen und kann Tipps immer gut gebrauchen!

Wahrscheinlich sagt mir jetzt jemand: "So kannst du das nicht machen, so funktioniert das nicht"!
Aber egal, was soll ich sonst abends machen?

MfG
Donar

Dieser Post wurde am 04.01.2005 um 04:09 Uhr von Donar editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
04.01.2005, 16:58 Uhr
Pablo
Supertux
(Operator)


Ok, hier ein kleines Beispiel unter http://pcpool.mathematik.uni-freiburg.de/~pabloy/bs.zip
dort findest du 3 Source Dateien und die Datei config.inc.php musst du anpassen.

So, ich hoffe, das kann eine Basis für dich sein. Wenn du online testen willst, kannst du von
http://rex.supertux.homelinux.org/php/index.php
testen, wirs sehen 100% XHTML Valid

Wenn du die Datenbank sehen willst, dann geh auf http://supertux.homelinux.org und dann unter "Administration" klickst du auf "MySQL Datenbank", du musst das SSL Zertifikat akzeptieren. Als Benutzername gibst du test ein und das Passwort soll leer bleiben, dann klickst du auf Login. Die Datenbank test (du wirst Zugriff auf 2 Datenbanken haben, test und test_board) musst du wählen und dort findest du 2 Tabellen, games und category, dort ist die Information gespeichert.

Bei einigen Sachen hab ich nhur die Grundidee programmiert, d.h. das die Skripten sind nicht optimal, z.B. die Navigationslinks mit "back page", "next page" ist naiv gelöst und sollte auf jeden Fall verbessert, das tue ich so, damit du es löst, du wirst sehen, dass "Next Page" verschwindet, sobald keine Ergebnisse mehr vorhanden sein, das solltest du schlauer lösen (frage zuerst ab, wie viele Elemente es überhaupt gibt, zb. SELECT NUM(id) FROM categry ist ein guter Ansat dafür.


PHP 4:
<?php
/* config.inc.php */

/* Die Konfigurationsdatei darf nur von der Seite gelesen werden */

if(!isset($readconfig) or isset($_GET['$readconfig']) or isset($_POST['$readconfig']))
    die("Zugriff nicht erlaubt!");

$config = array();

$config['MYSQL_HOST'] = "localhost";

$config['MYSQL_USER'] = "";

$config['MYSQL_PASSWD'] = "";

$config['MYSQL_DB'] = "test";

?>




PHP 4:
<?php

/* scripts.php */

function DB_connect()
{
    global $config;

    $connID = @mysql_connect($config['MYSQL_HOST'], $config['MYSQL_USER'], $config['MYSQL_PASSWD']);

    if(!$connID) return NULL;

    if(!@mysql_select_db($config['MYSQL_DB'], $connID))
    {
        echo err2str($connID);
    mysql_close($connID);
    return NULL;
    }

    return $connID;
}

function DB_close($connID)
{
    if(!$connID) return;
    
    mysql_close($connID);
}

function err2str($res)
{
    return "<p style=\"color: Xff0000;font-weight: bold\">Error " . (string) mysql_errno($res) . "<i>" . mysql_error($res) . "</i></p>\n";
}

?>




PHP 4:
<?php

/* index.php */

/* Konfigurationsdatei einbinden */

$readconfig=1;
require_once("config.inc.php");
require_once("scripts.php");

/* XHTML 1.0 Transitional */

echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Spiele online</title>
<meta name="author" content="Pablo Yanez Trujillo" />
<meta name="Audience" content="Alle" />
<meta name="Expires" content="0" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="Robots" content="INDEX,FOLLOW" />
<meta name="Revisit-After" content="5 days" />
<style type="text/css">

body
{
    background-color: X 95b7db;
    margin-left: 6mm;
    margin-right: 6mm;
}

h1
{
    text-align: center;
    color: X 7a5fe3;
}

h2
{
    color: X 7a5fe3;
}

p
{
    color: X 5f66e3;
    text-align: justify;
}

a,a:active,a:link,a:visited
{
     color: X 0054A2;
}

a:hover
{
    color: X 0170FF;
    text-decoration: none

}

</style>
</head>
<body>
<h1>Willkommen @ spieleonlie.de</h1>
<p>Hallo! Das ist eine Testseite. Hier kannst du deine Spiele online stellen und die von den anderen Benutzern herunterladen.
Du darfst nat&uuml;rlich alles hochladen und herunterladen, wie viel du willst, aber beachte, dass du die Dateien in zip Format
oder tar.gz Format hochl&auml;dst.
</p>
<p>
F&uuml;r diesen Test hab ich darauf verzichtet, ein Upload-Feld anzubieten, weil sonst der Aufwand viel zu gro&szlig; w&auml;re!
</p>
<p>Mann kann entweder eine neue Kategorie hinzuf&uuml;gen oder ein neues Spiel</p>
<?php

/* ok, MySQL starten */

$connID = DB_connect();

/* Limits berechnen */
$max_res = 3; /* Maximale Anzahl von Ergebnissen pro Seite */
$from_res = 0; /* Ab welchem Ergebnis anzeigen */

if(isset($_GET['abres'])) $from_res = $_GET['abres'];

if(!$connID)
{
    echo "<p style=\"color:X ff0000; font-weight: bold\">Fehler: " . mysql_error() . "</p>\n";
} else
{
    /* ok, DB ist up */

    /* Die Datenbank sieht so aus:
      
       Tabelle: games
       Felder:
       id (Primary Key), cat_id *, name, url
       * ist die ID der Kathegorie

       Tabelle: category
       id (Primary Key), name

    */


    if(isset($_POST['formCatSubmit']))
    {
        /* Kategorie hinzufügen */
    $catname = trim($_POST['formCatName']);

    if(!empty($catname))
    {
       $sql = "INSERT INTO category (name) VALUES ('$catname')";
       $result = @mysql_query($sql, $connID);

       if($result)
           echo "<p style=\"color:X 0000ff; font-weight: bold\">Kategorie '" . htmlentities($catname) . "' wurde hinzugef&uuml;gt</p>\n";
        else echo err2str($connID);
    
    } else
        echo "<p style=\"color:X ff0000; font-weight: bold\">Kann keine Categorie hinzuf&uuml;gen, weil das Feld leer ist</p>\n";
    }

    if(isset($_POST['formGameSubmit']))
    {
        /* spiel hinzufügen */
    $catid = trim($_POST['formGameCat']);
    $homepage = trim($_POST['formGameHomepage']);
    $gamename = trim($_POST['formGameName']);

    if(!empty($gamename) and !empty($homepage))
    {
        /* hier könnte man überprüfen, ob die Homepage ein richtiges format hat, verzichte ich
        aber hier drauf */


        $sql = "INSERT INTO games (cat_id,name,url) VALUES ($catid, '$gamename', '$homepage')";
        $result = @mysql_query($sql, $connID);

        if($result)
            echo "<p style=\"color:X 0000ff; font-weight: bold\">Spiel '" . htmlentities($gamename) . "' wurde hinzugef&uuml;gt</p>\n";
        else echo err2str($connID);
    } else
        echo "<p style=\"color:X ff0000; font-weight: bold\">Kann kein Spiel hinzuf&uuml;gen, weil mindestens ein Feld leer ist</p>\n";
    }

    if(isset($_GET['catid']) and !empty($_GET['catid']))
    {
        /* Spiele der Kathegorie anzeigen */
    $sql = "SELECT name FROM category WHERE id=$_GET[catid]";
    $result = mysql_query($sql, $connID);

    if($result){
        $row = mysql_fetch_row($result);
        echo "<h2>Kategorie: " . htmlentities($row[0]) . "</h2>";

        /* games anzeigen */
        
        $sql = "SELECT name, url FROM games WHERE cat_id=$_GET[catid] LIMIT $from_res, $max_res";
        $result = mysql_query($sql, $connID);

        if($result)
        {
            $rows = @mysql_num_rows($result);
        for($i=0; $i<$rows; ++$i)
        {
            $row = @mysql_fetch_row($result);
?>
<p>
<object>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td><b>Name</b></td>
<td><?php echo htmlentities($row[0]); ?></td>
</tr>
<tr>
<td><b>Homepage</b></td>
<td><a href="<?php echo $row[1]; ?>" target="_blank"><?php echo $row[1]; ?></a></td>
</tr>
</table>
</object>
</p>
<?php
        }

            /* ok, page anzeigen */
            echo "<p style=\"text-align: right\">";
            if($from_res)
            {
                echo "<a href=\"index.php?catid=$_GET[catid]&amp;abres=" . (string) ($from_res - $max_res);
            echo "\">Back Page</a>&nbsp;";
            }

            if($rows)
            {
                echo "<a href=\"index.php?catid=$_GET[catid]&amp;abres=" . (string) ($from_res + $max_res);
            echo "\">Next Page</a>";
            }

            echo "</p>\n";

            echo "<p><a href=\"index.php\">Zur&uuml;ck zum Index</a></p>\n";

        
        } else echo err2str($connID);
        
    } else echo err2str($connID);
    
    } else {
        /* Kathegorien anzeigen */
    $sql = "SELECT * FROM category";
    $result = mysql_query($sql, $connID);

    if($result)
    {
        $rows = mysql_num_rows($result);
        $cats_str="";
        for($i=0; $i<$rows; ++$i)
        {
            $row = mysql_fetch_row($result);
        echo "* <a href=\"index.php?catid=$row[0]\">" . htmlentities($row['1']) . "</a><br />\n";
        $cats = array('id' => $row[0], 'name' => htmlentities($row[1]));
        $cats_str .= "<option value=\"$cats[id]\">$cats[name]</option>\n";
        
        }

        /* ok, Category hinzufügen, spiel Hinzufügen */

?>
<h2>Kategorie hinzuf&uuml;gen</h2>
<p>
<object>
<form action="index.php" method="post">
<input name="formCatName" value="" size="20" />
<input type="submit" name="formCatSubmit" value="Hinzuf&uuml;gen" />
</form>
</object>
</p>
<h2>Spiel hinzuf&uuml;gen</h2>
<p>
<object>
<form action="index.php" method="post">
<b>Name:</b><br />
<input name="formGameName" value="" size="20" /><br />
<b>Homepage:</b><br />
<input name="formGameHomepage" value="http://" size="20" /><br />
<b>Kategorie:</b> (Bitte w&auml;len)<br />
<select name="formGameCat">
<?php
        echo $cats_str;
?>
</select>
<input type="submit" name="formGameSubmit" value="Hinzuf&uuml;gen" />
</form>
</object>
</p>
<?php

    } else {
        echo err2str($connID);
    }
    }

    
}

DB_close($connID);

?>
</body>
</html>



edit: @flo, die Farb-Angabe unter [php] in #RGB Format werden komplett angezeigt.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 04.01.2005 um 17:14 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
04.01.2005, 17:13 Uhr
Pablo
Supertux
(Operator)


hihi, vorhin kam "Text zu lang"


edit2 (zum vorherigen Post): da es Probleme mit der #RGB Angabe, hab ich alle solche Angabe durch "X RGB" (bsp: statt "#ff0000" ersetzt durch "X ff0000") Das sollte man ändern. Die zip Datei (oben verlinkt) hat alles richtig.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
04.01.2005, 17:30 Uhr
Donar



OK, danke dafür! Ich werd mich mal durcharbeiten!

Ich habe mal eine Frage! Ich habe jetzt eine datei popup.php erstellt! wenn die seite folgendermaßen aufgerufen wird: "popup.php&gameid=2" soll in eine Variable namens $gameid der Wert 2 gespeichert werden. Bei "popup.php&gameid=3" soll der Wert 3 gespeichert werden u.s.w.

wie kann ich das realisieren?

Der counter für die Games funktioniert auch schon! muss ich hinterher mal schauen, wie ich das in die Top 10 bringe!

MfG
Donar
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
04.01.2005, 17:32 Uhr
Pablo
Supertux
(Operator)


1. es soll "popup.php?gameid=2" sein.
2. ich verstehe deine Frage nicht ganz
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
04.01.2005, 17:34 Uhr
Donar




Zitat von Pablo:
1. es soll "popup.php?gameid=2" sein.
2. ich verstehe deine Frage nicht ganz


Wenn ich die Seite mit "popup.php?gameid=2" aufrufe soll er die Zahl die in der Browserzeile steht (in diesem fall 2) in eine variable speichern!

edit: nene, is schon klar! warum hab ich die ganze zeit das ? mit dem & verwechselt?

Dieser Post wurde am 04.01.2005 um 17:36 Uhr von Donar editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
04.01.2005, 18:01 Uhr
Pablo
Supertux
(Operator)


Die Variable heißt $_GET['gameid']
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
07.01.2005, 01:39 Uhr
Donar



Also, ich hab mich jetzt ein bisschen rein gedacht! Wer sich das resultat ansehen will:
http://games.board23.de

Noch ein paar schliffe daran machen und dann kan ich die Seite offiziell machen!

Danke für die Hilfe!

MfG
Donar
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ PHP ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: