PHP Benchmarkscript

PC Freak

Erfahrenes Mitglied
Ich will für meine Homepage ein PHP Benchmarkscript am besten ohne datenbank erstellen.

1: Zeile mit den Kategorien: Rang, Name, Grafikkarte, Takt (GPU/Speicher), CPU, RAM, Punkte
2: eine Zeile frei
3. Nun soll das Script die in mehreren Feldern eingegebenen daten per Klick in eine Tabellenzeile (in spalten unterteilt) darunte einfügen. Dabei soll das script die Zeilen mit den daten (Rang, Name, Prozessor, Grafikkarte, Punkte) je nach größe der Punkte ordnen (höchste Punktzahl oben, niedrigste unten). Der rang (1, 2 ,3) soll auch noch automatisch angegeben werden, je nachdem in welcher zeile die angaben sind (je nach punkte)

am besten wäre es wenn die ganzen daten in einer txt datei im selben ordner gespeichert werden datenbank wäre notfalls vorhanden

leider kenn ich mich mit php im grunde überhaupt nicht aus und wollte fragen ob ihr tutorials die mir bei dem script helfen könnten kennt ?

ich will in der nächsten zeit anfangen php zu lernen, krieg auch bald nen PHP buch, doch das PHP script brauch ich im moment grad

ein beispiel eines Benchmarkscriptes: http://www.pc-erfahrung.de/Benchmarkliste3DMark05.php
 
Das ist doch eigentlich nur eine ganz simple TextDatenbank, schau dir dazu mal
unter http://www.silberkind.de/?page=source an .. da gibt es eine Shoutbox bzw.
einen ganz simplen Newsscript der auf txt basiert. Das Problem was du damit bekommen
kannst ist halt nur das es ein SingleUserScript ist. Sobald du mehrere Benutzer hast
solltest du eine vernünftige DB benutzen. Sonst überschreibt A ständig die Einträge von
B und C.
 
ich hab mall versucht den code umzuschreiben aber erhalt gleich nach den ersten änderungen einen fehler

Parse error: parse error, unexpected T_LNUMBER, expecting ')' in /usr/export/www/vhosts/funnetwork/hosting/pcfreak/benchmark.php on line 25

Code:
 <?php
$shout_file = "benchmarkpunkte.txt";
$handle   = fopen($shout_file,"r");
$benchmarks = fread($handle, filesize($shout_file));
$messages = unserialize($benchmarks);
fclose($handle);
if($_POST["submit"])
{
  $name = $_POST["shout_name"];
  $grafikkarte = $_POST["shout_text"];
  $Takt = $_POST["shout_text"];
  $cpu = $_POST["shout_text"];
  $ram = $_POST["shout_text"];
  $punkte = $_POST["shout_text"];
  if(($name == "") || ($text == "") || $text == "text" || $name == "anonym")
   echo "process aborted by stupid user";
  else
  {
   $messages[$id] = array("eintrag" => "
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
	<td width="6%"><font size="1" face="Verdana">Rang</font></td>
	<td width="16%"><font size="1" face="Verdana">$name</font></td>
	<td width="14%"><font size="1" face="Verdana">$grafikkarte</font></td>
	<td width="18%"><font size="1" face="Verdana">$Takt</font></td>
	<td width="15%"><font size="1" face="Verdana">$cpu</font></td>
	<td width="16%"><font size="1" face="Verdana">$punkte</font></td>
	<td width="15%"><font size="1" face="Verdana">$punkte</font></td>
  </tr>
</table>");
   $temp = serialize($messages);
   $handle = fopen($shout_file,"w+");
   fwrite($handle,$temp);
   fclose($handle);
  }
}
function shoutbox($limit,$order)
{
  global $shout_file;
  $handle   = fopen($shout_file,"r");
  $benchmarks = fread($handle, filesize($shout_file));
  fclose($handle);
  $messages = unserialize($benchmarks);
  if($order) $messages = array_reverse($messages);
  $messages = array_slice($messages, 0, $limit);
  foreach($messages as $value)
   $shout_html[] = "<tr><td id=\"shout_style\">".$value["eintrag"]."</td></tr>\n";
  $shout_html = "<table id=\"shout_style\">".implode("", $shout_html)."</table>";
  return $shout_html;
}
?>
was ist am code falsch ? VIelen Dank ist mein erster PHP Versuch
 
Bevor mir schlecht wird bzw. ich mich zu sehr aufrege (nicht über dich, allgemein)

quick n dirty
PHP:
<html>
<body>

<!-- Das Formular zum Eintragen -->
<form method="post">
<table>
 <tr><td>Name</td><td><input type="text" name="entry[name]"></td></tr>
 <tr><td>Grafikkarte</td><td><input type="text" name="entry[vga]"></td></tr>
 <tr><td>Taktfrequenz</td><td><input type="text" name="entry[mhz]"></td></tr>
 <tr><td>CPU</td><td><input type="text" name="entry[cpu]"></td></tr>
 <tr><td>Arbeitsspeicher</td><td><input type="text" name="entry[ram]"></td></tr>
 <tr><td>Punkte</td><td><input type="text" name="entry[points]"></td></tr>
 <tr><td></td><td><input type="submit" value="eintragen"></td></tr>
</table>
</form>

<?php
//file = Datei die du als DB benutzt
$file	=	"benchmarkpunkte.txt";

//Öffne die Datei und lies den Inhalt in ein Array
$handle	=	fopen($file,"r");
$temp	=	fread($handle, filesize($file));
$bmarks	=	unserialize($temp);
fclose($handle);

//Wenn ein neuer Eintrag eingegeben wurde, führe Anweisung aus
if($_POST['entry'])
{
	//Eine eindeutige ID, in diesem Fall der UNIX Timestamp
         $id	=	time();
         $array	=	$_POST['entry'];

        	foreach($array as $key=>$value)
         	if(empty(trim($value)))
                 	$error .= $key.' ist leer.<br>';

	if(!$error)
         {
	         //Erweitere das Array mit den Einträgen um den neuen Eintrag
		$bmarks[$id]	=	array($array);

	         //Wandle die Daten in ein PC Format um und schreibe Sie in die DB
		$temp	=	serialize($bmarks);
		$handle	=	fopen($file,"w+");
		fwrite($handle,$temp);
		fclose($handle);
         }
         else
         	echo $error;

}

echo '<table>';

//Lies die Einträge in HTML aus
foreach($bmarks as $value)
	echo '<tr><td>
               <table>
	       <tr>
                 <td width="6%"><font size="1" face="Verdana">Rang</font></td>
 	        <td width="16%"><font size="1" face="Verdana">'.$value['name'].'</font></td>
                 <td width="14%"><font size="1" face="Verdana">'.$value['vga'].'</font></td>
                 <td width="18%"><font size="1" face="Verdana">'.$value['mhz'].'</font></td>
                 <td width="15%"><font size="1" face="Verdana">'.$value['cpu'].'</font></td>
                 <td width="15%"><font size="1" face="Verdana">'.$value['ram'].'</font></td>
                 <td width="16%"><font size="1" face="Verdana">'.$value['points'].'</font></td>
                </tr>
               </table>
               </td></tr>';

?>
</table>
</body>
</html>
 
X-D ich hoffe dir gehts wieder besser :-)

naja bin halt noch nen ^^

dein script ist aufjedenfall schonmal übersichtlich ;D

hab das script mal auf meinem server geladen, jedoch kommt diese Fehlermeldung:

Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE or '$' in /usr/export/www/vhosts/funnetwork/hosting/pcfreak/benchmark.php on line 35
 
Zurück