Suche ein PHP Chart system
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
action
charts
date
durchschneiden
falsch echo
fehler
interpret
limit
not
null
order
panel
pa
pawort
result
schlssel
set
spitzen
update
voter
-
hi leute
sry wenn ich jetzt etwas dumm klinge aber ich suche ein chartsystem f?r einen radiopage.
Diese sollte folgende Funktionen beinhalten:
Voting funktion
Admincenter
Top10
K?nnen auch variabel sein die funktion.
THX H4nSolo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
?hm kannst du PHP? Dann w?rd ich sagen selber programmieren. d?rfte nicht so schwer sein. Wofon sollen das Charts sein? Top 10 Radiosender? Top 10 Interpreten? Top 10 Lieder? vermutlich das letzte.
Is nat?rlich etwas komplexer. Aber nicht besonders schwierig. Wenn du hilfe Brauchst kann ich dir helfen. -
also das chartsystem soll sowas f?r musiktitel sein
(top10 geht auch)
da ich mich nich grade so mit php auskenne frage ich einfach ob du mir eins machen kannst (kann auch auf sql basis sein)
es soll nat?rlich auch so sein das ich daten einf?gen kann kann und wieder rausnehmen kann ;)
vielen dank schon mal im vorraus
H4nSolo
-
Hab dir schnell eins geschrieben:
<?php
/*
DB-Query:
CREATE TABLE `charts` (
`ID` INT( 5 ) NOT NULL ,
`Name` VARCHAR( 20 ) NOT NULL ,
`Interpreter` VARCHAR( 20 ) NOT NULL ,
`Text` TEXT NOT NULL ,
`Votes` INT( 20 ) NOT NULL ,
PRIMARY KEY ( `ID` )
) TYPE = MYISAM;
*/
include 'hidden/config.php';
$id = $_GET['id'];
$action = $_GET['action'];
$order = $_GET['order'];
$key = $_GET['key'];
if(empty($action))
{
echo "<div align=\"center\"><a href=\"?order=date\">Nach eintragsdatzum sortieren</a> || <a href=\"?order=votes\">Nach Meinungen sortieren</a> || <a href=\"?order=top10\">Top 10</a></div>";
if($order == "date")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Votes DESC");
}
elseif($order == "votes")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Votes DESC");
}
elseif($order == "top10")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Votes DESC LIMIT 10");
}
while($row = mysql_fetch_object($sql))
{
$id = $row->ID;
$name = $row->Name;
$in = $row->Interpreter;
echo "<br><b><a href=\"?action=see&id=".$id."\">".$name."</a></b> ".$in;
}
echo "<br><br><br><a href=\"?action=admin\">Admin-Panel</a>";
}
elseif($action == "admin")
{
if(isset($HTTP_POST_VARS['log']))
{
$pass = $HTTP_POST_VARS['Pass'];
if($pass == "lol")
{
$sql = mysql_query("SELECT ID, Name, Interpreter, Text, Votes FROM charts ORDER BY Votes DESC LIMIT 10");
while($row = mysql_fetch_object($sql))
{
$id = $row->ID;
$name = $row->Name;
$in = $row->Interpreter;
$votes = $row->Votes;
echo "<table width=\"100%\" border=\"0\">
<tr>
<td width=\"25%\">".$name."</td>
<td width=\"25%\">".$in."</td>
<td width=\"25%\">".$votes."</td>
<td width=\"25%\"><a href=\"?action=delete&key=lolmania&id=".$id.">DELETE</a></td>
</tr>
</table>";
}
}
else
{
echo "lol";
}
}
else
{
echo "<form method=\"post\" action=\"?action=admin\">
<input type=\text\" name=\"Pass\">
<input type=\"submit\" name=\"log\">";
}
}
elseif($action == "see")
{
$sql = mysql_query("SELECT ID, Name, Interpreter, Text, Votes FROM charts WHERE ID = '$id' ORDER BY Votes DESC LIMIT 10");
while($row = mysql_fetch_object($sql))
{
$name = $row->Name;
$in = $row->Interpreter;
$text = $row->Text;
$votes = $row->Votes;
echo "Liedername: ".$name."<br>";
echo "Interpreter: ".$in."<br>";
echo "Gesamtvote: ".$votes."<br><br>";
echo "Liedertext: ".$text."<br>";
echo "<br><form method=\"post\" action=\"index.php?action=vote&id=".$id."\">
<select name=\"lol\">
<option value=\"5\">5 -> Spitze</option>
<option value=\"4\">4</option>
<option value=\"3\" selected>3</option>
<option value=\"2\">2</option>
<option value=\"1\">1 -> Man braucht nen Waffenschein</option>
</select>
<input type=\"submit\" value=\"Voten\"></form>";
echo "<br><br><br><a href=\"index.php\">Zur?ck</a>";
}
}
elseif($action == "vote")
{
$vote = $HTTP_POST_VARS['lol'];
mysql_query("UPDATE charts SET Votes = Votes + '$vote' WHERE ID = '$id'");
echo "<div align=\"center\">Vote beendet</div>";
echo "<meta http-equiv=\"refresh\" content=\"2 url=index.php?action=see&id=".$id.">";
}
if($action == "delete" AND $key == "lolmania")
{
mysql_query("DELETE FROM charts WHERE ID = '$id'");
}
?>
Kann sein dass es noch Fehler enth?lt
Es ist auch nicht wirklich sicher, da ich hier offen den Quelltext poste
Um es abzusichern:
Zeile 53 (if($pass == "lol")):
lol mit eigenen Pass austauschen
Zeile 68 ( <td width=\"25%\"><a href=\"?action=delete&key=lolmania&id=".$id.">DELETE</a></td>
):
lolmania mit eigenen sicherheitsschl?ssel austauschen
Je l?nger um so besser, achte auf die 255-Zeichenbegrenzung
Zeile 118 (if($action == "delete" AND $key == "lolmania")):
Ebenfalls mit den Selben schl?ssel taucshen wie oben
Bei Fehlern pls. posten
-
alles sch?n und gut
ich versteh das auch schon das script staun*
leider fehlt da glaube ich aber noch etwas oder?
zb die config sachen und soviel ich von mysql verstanden habe die connect funktion zur sqlbank.
da ich nicht weiss wie und in welcher reihenfolge frage ich mal das dies dann auch noch gepostet werden kann?
THX -
An den Anfang Folgendes Schreiben:
$db_server = ""; //SQL-Server
$db_name = ""; //Datenbankname
$db_user = ""; //Username f?r die Datenbank
$db_passwort = ""; //Passwort f?r die Datenbank/vom User
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$db_check = @MYSQL_SELECT_DB($db_name,$db);
Ich vermute mal das steht in der Datei: 'hidden/config.php'.
Der Includebefehl muss ?brigens in Klammern: include ('hidden/config.php');
Hier 'n paar kleine Ver?nderungen:
Die Datei config.php im Unterordner hidden:
<?
$db_server = ""; //SQL-Server
$db_name = ""; //Datenbankname
$db_user = ""; //Username f?r die Datenbank
$db_passwort = ""; //Passwort f?r die Datenbank/vom User
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$db_check = @MYSQL_SELECT_DB($db_name,$db);
?>
Die andere Datei:
<?php
/*
DB-Query:
CREATE TABLE `charts` (
`ID` INT( 5 ) NOT NULL ,
`Name` VARCHAR( 20 ) NOT NULL ,
`Interpreter` VARCHAR( 20 ) NOT NULL ,
`Text` TEXT NOT NULL ,
`Votes` INT( 20 ) NOT NULL ,
`Date` INT( 11 ) NOT NULL ,
PRIMARY KEY ( `ID` )
) TYPE = MYISAM;
*/
include ('hidden/config.php');
$id = $_GET['id'];
$action = $_GET['action'];
$order = $_GET['order'];
$key = $_GET['key'];
if($order=="") { $order="votes"; } //sagt, was er machen soll, wenn kein Order angegeben ist.
if(empty($action))
{
echo "<div align=\"center\"><a href=\"?order=date\">Nach eintragsdatzum sortieren</a> || <a href=\"?order=votes\">Nach Meinungen sortieren</a> || <a href=\"?order=top10\">Top 10</a></div>";
if($order == "date")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Date DESC"); //nach Datum sortieren
}
elseif($order == "votes")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Votes DESC");
}
elseif($order == "top10")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Votes DESC LIMIT 10");
}
while($row = mysql_fetch_object($sql))
{
$id = $row->ID;
$name = $row->Name;
$in = $row->Interpreter;
echo "<br><b><a href=\"?action=see&id=".$id."\">".$name."</a></b> ".$in;
}
echo "<br><br><br><a href=\"?action=admin\">Admin-Panel</a>";
}
elseif($action == "admin")
{
if(isset($HTTP_POST_VARS['log']))
{
$pass = $HTTP_POST_VARS['Pass'];
if($pass == "lol")
{
$sql = mysql_query("SELECT ID, Name, Interpreter, Text, Votes FROM charts ORDER BY Votes DESC LIMIT 10");
while($row = mysql_fetch_object($sql))
{
$id = $row->ID;
$name = $row->Name;
$in = $row->Interpreter;
$votes = $row->Votes;
echo "<table width=\"100%\" border=\"0\">
<tr>
<td width=\"25%\">".$name."</td>
<td width=\"25%\">".$in."</td>
<td width=\"25%\">".$votes."</td>
<td width=\"25%\"><a href=\"?action=delete&key=lolmania&id=".$id.">DELETE</a></td>
</tr>
</table>";
}
}
else
{
echo "lol";
}
}
else
{
echo "<form method=\"post\" action=\"?action=admin\">
<input type=\text\" name=\"Pass\">
<input type=\"submit\" name=\"log\">";
}
}
elseif($action == "see")
{
$sql = mysql_query("SELECT ID, Name, Interpreter, Text, Votes FROM charts WHERE ID = '$id' ORDER BY Votes DESC LIMIT 10");
while($row = mysql_fetch_object($sql))
{
$name = $row->Name;
$in = $row->Interpreter;
$text = $row->Text;
$votes = $row->Votes;
?>
Liedername: <?php echo $name; ?> <br>
Interpreter: <?php echo $in; ?><br>
Gesamtvote: <?php echo $votes; ?><br><br>
Liedertext: <?php echo $text; ?><br>
<br><form method=\"post\" action="index.php?action=vote&id=<?php echo $id; ?>">
<select name="lol">
<option value="5">5 -> Spitze</option>
<option value="4">4</option>
<option value="3" selected>3</option>
<option value="2">2</option>
<option value="1">1 -> Man braucht nen Waffenschein</option>
</select>
<input type="submit" value="Voten"></form>
<br><br><br><a href="index.php">Zur?ck</a>
<?php
}
}
elseif($action == "vote")
{
$vote = $HTTP_POST_VARS['lol'];
mysql_query("UPDATE charts SET Votes = Votes + '$vote' WHERE ID = '$id'");
echo "<div align=\"center\">Vote beendet</div>";
echo "<meta http-equiv=\"refresh\" content=\"2 url=index.php?action=see&id=".$id.">";
}
if($action == "delete" AND $key == "lolmania")
{
mysql_query("DELETE FROM charts WHERE ID = '$id'");
}
?> -
soweit so gut nur irgendwie klappt das nicht mit dem eintragen der Sachen...
wenn ich im ?action=admin bereich bin frag der ja was ich eintragen will aber das passwirt irgendwie nix und wenn ich das passwort eintippe kommt da irgendwie immer lol.
sind da ncoh fehler drin im script?
Gruss H4nSolo -
Wenn er bei dir lol anzeigt hast du irgendetwas falsch gemacht.
Ich habe auch noch ein Paar verbesserungen. Zum einen das Einf?gen neuer Datens?tze ?ber das Admin-Panel und zum anderen eine verbesserte Ausgabe und vereinfachung der Handhabung allerdings ist das Votesystem nicht so besonders gut (User k?nnen mehrfach abstimmen, Vote addiert nur, wodurch h?ufiger bevotete automatisc h?her sind (besser were durchschnitt)):
index.php:
<?php
/*
DB-Query:
CREATE TABLE `charts` (
`ID` INT( 5 ) NOT NULL ,
`Name` VARCHAR( 20 ) NOT NULL ,
`Interpreter` VARCHAR( 20 ) NOT NULL ,
`Text` TEXT NOT NULL ,
`Votes` INT( 20 ) NOT NULL ,
`Date` INT( 11 ) NOT NULL ,
PRIMARY KEY ( `ID` )
) TYPE = MYISAM;
*/
include ('hidden/config.php');
$id = $_GET['id'];
$action = $_GET['action'];
$order = $_GET['order'];
$key = $_GET['key'];
if($order=="") { $order="votes"; } //sagt, was er machen soll, wenn kein Order angegeben ist.
if(empty($action))
{
echo "<div align=\"center\"><a href=\"?order=date\">Nach eintragsdatzum sortieren</a> || <a href=\"?order=votes\">Nach Meinungen sortieren</a> || <a href=\"?order=top10\">Top 10</a></div>";
if($order == "date")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Date DESC"); //nach Datum sortieren
}
elseif($order == "votes")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Votes DESC");
}
elseif($order == "top10")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Votes DESC LIMIT 10");
}
while($row = mysql_fetch_object($sql))
{
$id = $row->ID;
$name = $row->Name;
$in = $row->Interpreter;
echo "<br><b><a href=\"?action=see&id=".$id."\">".$name."</a></b> ".$in;
}
echo "<br><br><br><a href=\"?action=admin\">Admin-Panel</a>";
}
elseif($action == "admin")
{
if(isset($HTTP_POST_VARS['log']))
{
$pass = $HTTP_POST_VARS['Pass'];
if($pass == $adminpw)
{
//Adminbereich
$sql = mysql_query("SELECT ID, Name, Interpreter, Text, Votes FROM charts ORDER BY Votes DESC LIMIT 10");
echo "<table width=\"100%\" border=\"0\">
<tr>
<td width=\"25%\"><b>Title</b></td>
<td width=\"25%\"><b>Interpret</b></td>
<td width=\"25%\"><b>Bewertung</b></td>
<td width=\"25%\"><b>L?schen</b></td>
</tr>";
while($row = mysql_fetch_object($sql))
{
$id = $row->ID;
$name = $row->Name;
$in = $row->Interpreter;
$votes = $row->Votes;
echo "<tr>
<td width=\"25%\">".$name."</td>
<td width=\"25%\">".$in."</td>
<td width=\"25%\">".$votes."</td>
<td width=\"25%\"><a href=\"?action=delete&key=$schluessel&id=".$id."\">DELETE</a></td>
</tr>";
}
echo "</table>";
?>
<form method="post" action="?action=add">
<h3>Neues Lied</h3>
<input type="hidden" name="key" value="<?php echo $schluessel; ?>">
Titel: <input type="text" name="name"><br>
Interpret: <input type="text" name="inter"><br>
Text: <textarea name="text"></textarea><br>
<input type="submit" name="senden">
<?php
//Adminbereich-ende
}
else
{
echo "Das Passwort ist Falsch!";
echo "<b>Neu eingeben:</b><br><form method=\"post\" action=\"?action=admin\">
User: admin<br>
Passwort: <input type=\text\" name=\"Pass\">
<input type=\"submit\" name=\"log\">";
}
}
else
{
echo "<form method=\"post\" action=\"?action=admin\">
User: admin<br>
Passwort: <input type=\text\" name=\"Pass\">
<input type=\"submit\" name=\"log\">";
}
}
elseif($action == "see")
{
$sql = mysql_query("SELECT ID, Name, Interpreter, Text, Votes FROM charts WHERE ID = '$id' ORDER BY Votes DESC LIMIT 10");
while($row = mysql_fetch_object($sql))
{
$name = $row->Name;
$in = $row->Interpreter;
$text = $row->Text;
$votes = $row->Votes;
?>
Liedername: <?php echo $name; ?> <br>
Interpreter: <?php echo $in; ?><br>
Gesamtvote: <?php echo $votes; ?><br><br>
Liedertext: <?php echo $text; ?><br>
<br><form method=\"post\" action="index.php?action=vote&id=<?php echo $id; ?>">
<select name="lol">
<option value="5">5 -> Spitze</option>
<option value="4">4</option>
<option value="3" selected>3</option>
<option value="2">2</option>
<option value="1">1 -> Man braucht nen Waffenschein</option>
</select>
<input type="submit" value="Voten"></form>
<br><br><br><a href="index.php">Zur?ck</a>
<?php
}
}
elseif($action == "vote")
{
$vote = $HTTP_POST_VARS['lol'];
mysql_query("UPDATE charts SET Votes = Votes + '$vote' WHERE ID = '$id'");
echo "<div align=\"center\">Vote beendet</div>";
echo "<meta http-equiv=\"refresh\" content=\"2 url=index.php?action=see&id=".$id.">";
}
elseif($action == "delete")
{
if($_POST["key"] == $schluessel OR $_GET["key"] == $schluessel)
{
$sql=mysql_query("DELETE FROM charts WHERE ID = '$id'");
if($sql)
{
echo "L?schen erfolgreich.";
}
else
{
echo "L?schen fehlgeschlagen.";
}
}
else
{
echo "Schl?ssel ist falsch.";
}
}
elseif($action=="add")
{
if($_POST["key"] == $schluessel OR $_GET["key"] == $schluessel)
{
$name = $_POST['name'];
$inter = $_GET['inter'];
$text = $_GET['text'];
$date=time();
$result = mysql_query("SELECT * FROM charts");
$id=mysql_num_rows($result);
$sql=mysql_query("INSERT INTO `charts` ( `ID` , `Name` , `Interpreter` , `Text` , `Votes` , `Date` ) VALUES ('$id', '$name', '$inter', '$text', '0', '$date');");
if($sql)
{
echo "Eintragen erfolgreich.";
}
else
{
echo "Eintragen fehlgeschlagen.";
}
}
else
{
echo "Schl?ssel ist falsch.";
}
}
echo "<br><br><a href=\"index.php\">Hauptseite</a>";
?>
hidden/config.php:
<?
$db_server = ""; //SQL-Server
$db_name = ""; //Datenbankname
$db_user = ""; //Username f?r die Datenbank
$db_passwort = ""; //Passwort f?r die Datenbank/vom User
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$db_check = @MYSQL_SELECT_DB($db_name,$db);
$adminpw="";
$schluessel="h3gd6dgdfg5skers";
?>
Beitrag ge?ndert am 29.05.2006 17:17 von duesdings -
klappt wunderbar nur das votesystem hat noch ein fehler weil irgendwie votet der bei mir nicht obwohl ich es umge?ndert habe.
-
Ja, das Problem habe ich auch. Ich hab auch schon nach einem Fehler gesucht. leider bin ich nicht f?ndig geworden. ich werde sp?ter nochmal suchen.
-
Hab auch was ver?ndert, aber wie immer hohe fehlerquote
Du bracuhst nun ?nderungen in MySql:
Selbe DB, naue Tabelle:
chart_ip: IP(Varchar,15)
chart:
Voteanzahl(INT) (Z?hlt die Anzahl der Insgesammten Votes)
Votesdurchschnitt (INT) (Enth?lt den durchschnitt der Votes)
Der Fehler wegen den Voten k?nnte method="post" gewesen sein
Ihr hab n?mlich nicht die backslasches entfernt, wie ihr echo vernichtet habt.
Ich denke, deshalb hat ers nicht erkannt und als get gesendet, dadurch blieb $vote leer
Ist mir zwar sofort aufgefallen, ich denke aber, dass das zu max. 5 - 10 % der Grund sein k?nnte
btw. Finde ich es klasse dass ihr den Script weiterentwickelt
Ich vergesse n?mlich oft dinge und verliere schnell die ?bersichtlichkeit, deshalb finde ich es super, dass ihr mit nen Fremden script so leicht umgehen k?nnt
<?php
/*
DB-Query:
CREATE TABLE `charts` (
`ID` INT( 5 ) NOT NULL ,
`Name` VARCHAR( 20 ) NOT NULL ,
`Interpreter` VARCHAR( 20 ) NOT NULL ,
`Text` TEXT NOT NULL ,
`Votes` INT( 20 ) NOT NULL ,
`Date` INT( 11 ) NOT NULL ,
PRIMARY KEY ( `ID` )
) TYPE = MYISAM;
*/
include ('hidden/config.php');
$ip = getenv("REMOTE_ADDR");
$id = $_GET['id'];
$action = $_GET['action'];
$order = $_GET['order'];
$key = $_GET['key'];
if($order=="") { $order="votes"; } //sagt, was er machen soll, wenn kein Order angegeben ist.
if(empty($action))
{
echo "<div align=\"center\"><a href=\"?order=date\">Nach eintragsdatzum sortieren</a> || <a href=\"?order=votes\">Nach Meinungen sortieren</a> || <a href=\"?order=top10\">Top 10</a></div>";
if($order == "date")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Date DESC"); //nach Datum sortieren
}
elseif($order == "votes")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Votes DESC");
}
elseif($order == "top10")
{
$sql = mysql_query("SELECT ID, Name, Interpreter FROM charts ORDER BY Votes DESC LIMIT 10");
}
while($row = mysql_fetch_object($sql))
{
$id = $row->ID;
$name = $row->Name;
$in = $row->Interpreter;
echo "<br><b><a href=\"?action=see&id=".$id."\">".$name."</a></b> ".$in;
}
echo "<br><br><br><a href=\"?action=admin\">Admin-Panel</a>";
}
elseif($action == "admin")
{
if(isset($HTTP_POST_VARS['log']))
{
$pass = $HTTP_POST_VARS['Pass'];
if($pass == $adminpw)
{
//Adminbereich
$sql = mysql_query("SELECT ID, Name, Interpreter, Text, Votes FROM charts ORDER BY Votes DESC LIMIT 10");
echo "<table width=\"100%\" border=\"0\">
<tr>
<td width=\"25%\"><b>Title</b></td>
<td width=\"25%\"><b>Interpret</b></td>
<td width=\"25%\"><b>Bewertung</b></td>
<td width=\"25%\"><b>L?schen</b></td>
</tr>";
while($row = mysql_fetch_object($sql))
{
$id = $row->ID;
$name = $row->Name;
$in = $row->Interpreter;
$votes = $row->Votes;
echo "<tr>
<td width=\"25%\">".$name."</td>
<td width=\"25%\">".$in."</td>
<td width=\"25%\">".$votes."</td>
<td width=\"25%\"><a href=\"?action=delete&key=$schluessel&id=".$id."\">DELETE</a></td>
</tr>";
}
echo "</table>";
?>
<form method="post" action="?action=add">
<h3>Neues Lied</h3>
<input type="hidden" name="key" value="<?php echo $schluessel; ?>">
Titel: <input type="text" name="name"><br>
Interpret: <input type="text" name="inter"><br>
Text: <textarea name="text"></textarea><br>
<input type="submit" name="senden">
<?php
//Adminbereich-ende
}
else
{
echo "Das Passwort ist Falsch!";
echo "<b>Neu eingeben:</b><br><form method=\"post\" action=\"?action=admin\">
User: admin<br>
Passwort: <input type=\text\" name=\"Pass\">
<input type=\"submit\" name=\"log\">";
}
}
else
{
echo "<form method=\"post\" action=\"?action=admin\">
User: admin<br>
Passwort: <input type=\text\" name=\"Pass\">
<input type=\"submit\" name=\"log\">";
}
}
elseif($action == "see")
{
$sql = mysql_query("SELECT ID, Name, Interpreter, Text, Votes FROM charts WHERE ID = '$id' ORDER BY Votes DESC LIMIT 10");
while($row = mysql_fetch_object($sql))
{
$name = $row->Name;
$in = $row->Interpreter;
$text = $row->Text;
$votes = $row->Votes;
?>
Liedername: <?php echo $name; ?> <br>
Interpreter: <?php echo $in; ?><br>
Gesamtvote: <?php echo $votes; ?><br><br>
Liedertext: <?php echo $text; ?><br>
<br><form method="post" action="index.php?action=vote&id=<?php echo $id; ?>">
<select name="lol">
<option value="5">5 -> Spitze</option>
<option value="4">4</option>
<option value="3" selected>3</option>
<option value="2">2</option>
<option value="1">1 -> Man braucht nen Waffenschein</option>
</select>
<input type="submit" value="Voten"></form>
<br><br><br><a href="index.php">Zur?ck</a>
<?php
}
}
elseif($action == "vote")
{
$vote = $HTTP_POST_VARS['lol'];
if(mysql_num_rows(mysql_query("SELECT * FROM chart_ip WHERE IP = '$ip'")) == 0)
{
echo "<div align=\"center\">Vote beendet</div>";
echo "<meta http-equiv=\"refresh\" content=\"2 url=index.php?action=see&id=".$id.">";
}
else
{
mysql_query("UPDATE charts SET Votes = Votes + '$vote' WHERE ID = '$id'");
mysql_query("UPDATE charts SET Votesanzahl = Votesanzahl + '1' WHERE ID = '$id'");
$sql = mysql_query("SELECT Votes, Votesanzahl WHERE ID = '$id'");
while($row = mysql_fetch_object($sql))
{
$countvote[votes] = $row->Votes;
$countvote[votesanzahl] = $row->Votesanzahl;
}
$countvote[durchschnitt] = $countvote[votes] / $countvote[votesanzahl];
mysql_query("UPDATE charts SET Votesdurchschnitt = $countvote[durchschnitt] WHERE ID = '$id'");
mysql_query("INSERT INTO chart_ip (IP)VALUES('$ip')");
echo "<div align=\"center\">Vote beendet</div>";
echo "<meta http-equiv=\"refresh\" content=\"2 url=index.php?action=see&id=".$id.">";
}
}
elseif($action == "delete")
{
if($_POST["key"] == $schluessel OR $_GET["key"] == $schluessel)
{
$sql=mysql_query("DELETE FROM charts WHERE ID = '$id'");
if($sql)
{
echo "L?schen erfolgreich.";
}
else
{
echo "L?schen fehlgeschlagen.";
}
}
else
{
echo "Schl?ssel ist falsch.";
}
}
elseif($action=="add")
{
if($_POST["key"] == $schluessel OR $_GET["key"] == $schluessel)
{
$name = $_POST['name'];
$inter = $_GET['inter'];
$text = $_GET['text'];
$date=time();
$result = mysql_query("SELECT * FROM charts");
$id=mysql_num_rows($result);
$sql=mysql_query("INSERT INTO `charts` ( `ID` , `Name` , `Interpreter` , `Text` , `Votes` , `Date` ) VALUES ('$id', '$name', '$inter', '$text', '0', '$date');");
if($sql)
{
echo "Eintragen erfolgreich.";
}
else
{
echo "Eintragen fehlgeschlagen.";
}
}
else
{
echo "Schl?ssel ist falsch.";
}
}
echo "<br><br><a href=\"index.php\">Hauptseite</a>";
?>
hidden/config.php:
<?
$db_server = ""; //SQL-Server
$db_name = ""; //Datenbankname
$db_user = ""; //Username f?r die Datenbank
$db_passwort = ""; //Passwort f?r die Datenbank/vom User
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$db_check = @MYSQL_SELECT_DB($db_name,$db);
$adminpw="";
$schluessel="h3gd6dgdfg5skers";
?>
-
ich hab da immernoch probleme mit dem voting... *heul*
kann sich wer mit mir mal in icq auseinandersetzen?
172485328
THX -
Deine Korrektur sieht gut aus. funktioniert bei mir jetzt.
Weshalb die neue Tabelle? ich hab die alte einfach erg?nzt. Die sieht jetzt so aus:
CREATE TABLE `charts` (
`ID` int(5) NOT NULL,
`Name` varchar(20) NOT NULL,
`Interpreter` varchar(20) NOT NULL,
`Text` text NOT NULL,
`Votes` int(20) NOT NULL,
`Voters` int(20) NOT NULL,
`Voteschnitt` int(1) NOT NULL,
`Date` int(11) NOT NULL,
PRIMARY KEY (`ID`)
) TYPE=MyISAM;
Ich habe entsprechend der Tabbelle das Votesystem so gel?st:
elseif($action == "vote")
{
$vote = $HTTP_POST_VARS['lol'];
if(mysql_num_rows(mysql_query("SELECT * FROM chart_ip WHERE IP = '$ip'")) == 0)
{
echo "<div align=\"center\">Vote beendet</div>";
echo "<meta http-equiv=\"refresh\" content=\"2 url=index.php?action=see&id=".$id.">";
}
else
{
mysql_query("UPDATE charts SET Votes = Votes + '$vote' WHERE ID = '$id'");
mysql_query("UPDATE charts SET Voters = Voters + '1' WHERE ID = '$id'");
$sql = mysql_query("SELECT Votes, Voters FROM charts WHERE ID = '$id' LIMIT 1");
while($row = mysql_fetch_object($sql))
{
$countvote[votes] = $row->Votes;
$countvote[voters] = $row->Voters;
}
$countvote[durchschnitt] = $countvote[votes] / $countvote[voters];
mysql_query("UPDATE charts SET Voteschnitt = $countvote[durchschnitt] WHERE ID = '$id'"); }
echo "<div align=\"center\">Vote beendet</div>";
echo "<meta http-equiv=\"refresh\" content=\"2 url=index.php?action=see&id=".$id."\">";
}
F?r die Korrekte Ausgabe noch im Admin-bereich und im Bereich see $row->Votes; durch $row->Voteschnitt; ersetzen sowie in der MySQL anweisung ebenfalls Votes durch Voteschnitt ersetzen (Achtung. nicht ?berall. nur, wo die Daten geladen werden.).
Ich habe auch ein Tutorial geschrieben, das ihr ?ber http://duesdings.du.funpic.de/Projekte/Projekt_charts/home.html errreicht.
Beitrag ge?ndert am 30.05.2006 18:01 von duesdings -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage