[PHP]Problem mit Benutzerzähler

MisterSempron

Fleet Captain Special
Mitglied seit
14.01.2006
Beiträge
338
Renomée
11
Hallo!
Ich hoffe ihr könnt mir helfen... Ich habe mir einen Webhostingaccount bei Funpic erstellt und PHP und MySQL aktiviert.

Jetzt habe ich ein Script für einen Benutzerzähler geschrieben, aber das Script funktioniert nicht, anscheinen kann das Script sich nit mit der DB verbinden.

PHP:
<?php
session_start();

@mysql_connect('localhost', 'webmasta2005', '********');
@mysql_select_db('webmasta2005_01');

// Zählerstand erhöhen
if (!session_is_registered('zaehlerstand_erhoeht'))
{
	@mysql_query('UPDATE zaehler SET zaehlerstand = zaehlerstand + 1 WHERE id = 1');
	session_register('zaehlerstand_erhoeht');
}

// Zählerstand ausgeben
$result = @mysql_query('SELECT zaehlerstand FROM zaehler WHERE id = 1');
$result = @mysql_fetch_row($result);
$zstand = $result[0];
?>

<html>
<head>
<title>dada</title>
</head>
<body>
<p>&nbsp;</p>
<div align="right"><? echo 'Du bist Besucher Nr. <font size=+3 color="red"> ' . $zstand . ' </font> seit dem 11.02.2005'; ?>
</div>
<br>

</body>
</html>

bei unserer Schulhomepage geht das Script, dort steht aber hinter 'localhost' noch das verzeichnis home, dann der benutzername, dann das verzeichnis mysql und dann die datei mysql.sock.

Etwa so: 'localhost:/home/*****/mysql/mysql.sock'

Bei funpic finde ich aber keine solchen angaben. Weiß vielleicht einer von euch, wie ich das Script zum laufen bekomme?

mfg
MisterSempron
 
du hast dir den Besucherzähler geschrieben und weißt nicht, warum es nicht funktioniert? Kann es denn sein, dass du keine Ahnung von deinem Script hast? (Sorry, für diesen Ton, aber zu behaupten, das Script selber geschrieben zu haben und dann so ne Frage zu stellen ist schon ein bisschen komisch..)
Mach mal die @-Zeichen vor deinen mysql_* Fkts. weg, dann siehst du u.U. auch Fehlermeldungen, die das Script ausgibt.

flO


edit: Probier mal "webmasta2005" als DB Name.
 
Zuletzt bearbeitet:
sorry, hab oben einen Tippfehler. Das Script habe nicht ich alleine, sondern ein Kumpel und ich vor einigen Monaten geschrieben.

webmasta2005_01 ist der richtige Datenbankename, ich habe das aber auch nur mit webmasta2005 ausprobiert, geht auch nicht.
Ich werde meinen Kumpel einfach Montag in der Schule mal fragen, was da falsch ist, denn der hat n bissle mehr Ahnung von PHP als ich.
Mal schauen, ob er das hinbekommt.
 
mach doch mal die @ Zeichen weg und schau was PHP ausgibt. Kannst die Fehlermeldung ja hier posten.

und probier dich mal so zu connecten:

PHP:
$db = mysql_connect ("localhost","webmasta2005","deinpw") or die ("Verbindung fehlgeschlagen");
mysql_select_db("webmasta2005",$db);
 
Zuletzt bearbeitet:
wenn ich die @ wegnehme gibts keine Fehlermeldung, erscheint nur der Text:

Du bist Besucher Nr. seit dem 11.02.06

Hinter "Nr." sollte eigentlich die, mit dem Befehl
PHP:
$zstand
aus der DB abgefragte Zahl stehen.
Lass ich die @ ganz normal da, wieder:

Du bist Besucher Nr. seit dem 11.02.06

und wenn ich dein Connectscript nehme, wieder das gleiche:

Du bist Besucher Nr. seit dem 11.02.06

Keine Fehlermeldung, kein garnichts, nur das mit dem Besucher.
Da PHP mir keine Fehlermeldung ausgibt, nehme ich an, dass das Script mit der DB verbunden ist, aber in der DB den Zählerstand nicht erhöht.
 
Zuletzt bearbeitet:
Könnte es sein, dass die PHP-Version anders ist als bei der Schulhomepage und die Variable $zstand durch das erste ?> ungültig wird?
Probier mal das hier:
PHP:
<?php
session_start();

@mysql_connect('localhost', 'webmasta2005', '********');
@mysql_select_db('webmasta2005_01');

// Zählerstand erhöhen
if (!session_is_registered('zaehlerstand_erhoeht'))
{
	@mysql_query('UPDATE zaehler SET zaehlerstand = zaehlerstand + 1 WHERE id = 1');
	session_register('zaehlerstand_erhoeht');
}

// Zählerstand ausgeben
$result = @mysql_query('SELECT zaehlerstand FROM zaehler WHERE id = 1');
$result = @mysql_fetch_row($result);
$zstand = $result[0];
echo $zstand;
?>
und schau was das echo ausgibt.
Und schau auch mal (sofern möglich) mit phpMyAdmin nach, ob in der Tabelle überhaupt ein Wert drin steht.

TiKu (dessen PHP-Kenntnisse etwas eingerostet sind)
 
Zurück
Oben Unten