Seite 3 von 5

Verfasst: 23.07.2006 18:53
von SinTao
Also ein ' zuviel? Oh man, sowas Plötes aber auch. :) Naja, als non-Phpler sitzt man davor und denkt, das wird schon alles seine Richtigkeit haben. :)

Ich danke euch beiden vielmals für eure große, und ausdauernde Hilfe!

Schönes Restwochenende noch,

SinTao

Verfasst: 23.07.2006 20:24
von Andavos
Andavos hat geschrieben:Du musst dich noch in deine Datenbank einloggen. Sonst kann der Browser (oder was auch immer) die Daten die auf deiner Datenbank gespeichert sind nicht aufrufen!

Ich habe folgenden Code benutzt:

Code: Alles auswählen

$verbindung=mysql_connect("localhost","***","***")
				or die("Verbindung fehlgeschlagen!");
				$datenbank=mysql_select_db("***")
				or die("<br>Datenbank nicht gefunden!");
Bei den Sternchen kommen jeweils dein Datenbankusername, dein DB-Passwort und der Name der Detenbank!

PS: Ich habe noch ein paar Fragen, wäre froh wenn diese ebenso schnell beantwortet werden könnten:
1. Die Frage die schon in der Topic eröffnung stand, wie kann ich einen Counter programmieren der alle 24 stunden auf Null zurückschaltet?

2. Wie kann ich machen, dass man sich auf meiner Homepage mittels zwei Felder einloggen kann? Wenn man sich dann angemeldet hat, also den richtigen Username und das richtige Passwort eingegeben hat, dann soll sich in einem neuen Fenster dass sich dann öffnet das Forum kommen (man soll dann natürlich eingeloggt sein!)
Und auf der Page sollte dann unter den Kästchen (oder wenn möglich sogar ersetzenden) stehen, ob man eine neue PN hat, oder nicht!
Geht das?

3. Und kann man auch noch die Namen inklusive Link zum Profil der User unter der Anzahl anzeigen die online sind?

Hat jemand antworten auf meine Fragen?

Verfasst: 24.07.2006 13:36
von S2B
zu 1: Bei jedem Anlegen des Counters den aktuellen Timestamp (time()) speichern und bei jedem Zählen überprüfen, ob schon 24 Stunden (= 24 * 60 * 60 Sekunden) vergangen sind. Wenn ja, Counter zurücksetzen, wenn nein zählen.

zu 2: KB:phpbb_login, target="_blank" beim form-Tag, KB:forum_homepage für die Sache mit den PN's

zu 3:

Code: Alles auswählen

$sql = 'SELECT user_id, username
  FROM phpbb_sessions s, phpbb_users u
  WHERE s.session_user_id = u.user_id
    AND session_time >= ' . (time() - 300);

Verfasst: 24.07.2006 16:48
von Andavos
Zu 1:
Ich bin kein grosser PHPler, kannst du mir den Code mitgeben?

Zu 2:
Was muss ich da noch abändern, und was kommt bei meine_homepage.php hin?

Das ist der Code den ich im Moment habe:

Code: Alles auswählen

<form action="phpBB2/login.php" method="post"> 
Benutzername: <input type="text" name="username"><br> 
Passwort: <input type="password" name="password"><br> 
Autologin? <input type="checkbox" name="autologin"><br> 
<input type="hidden" name="redirect" value="meine_homepage.php"> 
<input type="submit" name="login" value="Login"> 
</form>
Zu 3:
Wie kann ich es anzeigen?

Verfasst: 25.07.2006 18:00
von S2B
zu 1: Den Counter musst du dir schon selber suchen, ich werd dir jetzt keinen Counter schreiben. :wink:

zu 2: Willst du das mit den PN's haben oder nur den Login?
Anstatt meine_homepage.php musst du die Datei eintragen, auf die nach dem Login weitergeleitet werden soll. Wenn es die Standard-Datei sein soll (index.php vom Forum), damm kannst du dieses input auch weglassen.
Um das ganze in einem neuen Fenster öffnen zu lassen, solltest du dir nochmal meinen letzten Beitrag anschauen.

zu 3:

Code: Alles auswählen

$sql = [...]
if (!$result = mysql_query($sql))
{
  die('Fehler: ' . mysql_error());
}
$userlist = '';
while ($row = mysql_fetch_assoc($result))
{
  $userlist .= ($userlist != '') ? ', ' : '';
  $userlist .= '<a href="http://www.deine-domain.de/dein_pfad/profile.php?mode=viewprofile&u=' . $row['user_id'] . '">' . $row['username'] . '</a>';
}
mysql_free_result($result);

echo $userlist;

Verfasst: 25.07.2006 18:26
von Andavos
Vielen Dank, 2 und 3 funktionieren jetzt.
Aber ich weiss nicht wie du das bei 1 gemeint hast...

Code: Alles auswählen

<?php
				  echo "<b>***</b><br>";
		          if(!file_exists("***.txt"))
		          {$counter=@fopen("***.txt", "a");}
		          else
		          {$counter=@fopen("***.txt", "r+");}
		          $aufruf=fgets($counter,800);
		          $aufruf=$aufruf+1;
		          rewind($counter);
		          fputs($counter,$aufruf);
		          fclose($counter);
		          echo "Hits insgesamt:&nbsp;$aufruf";
		?>

Dies ist der Code denn ich für den Counter verwendet habe, kannst du mir deine Idee einbauen. Im Moment zählt mein Counter einfach, aber er soll ja alle 24 Stunden zurückschalten...

Verfasst: 25.07.2006 19:44
von S2B
Den aktuellen Timestamp könntest du eigentlich mit genau der gleichen Prozedur speichern und bei jedem Zählen laden. Der Rest ist dann nur noch eine if-Schleife:

Code: Alles auswählen

// Timestamp auslesen bzw. das erste Mal schreiben

if (time() - $timestamp > 86400)
{
  // neuen Timestamp speichern
  // Counter zurücksetzen
}
else
{
  // Zählen
}

Verfasst: 26.07.2006 18:09
von Andavos
Muss ich bei

Code: Alles auswählen

//Zählen
einfach meinen Counter einfügen?

PS: Mir ist noch was zum LogIn auf meiner Seite eingefallen. Wie kann ich es den nun machen, dass man, wenn man sich eingeloggt hat, auch auf der Page sieht, ob man eine neue PN hat oder nicht?

Verfasst: 27.07.2006 12:55
von S2B
Zum Counter: Probier es doch einfach aus... :wink:

zu den PN's: Dazu musst du die Website in dein Forum einbauen, zumindest ins Session-System (Link dazu siehe oben).

Verfasst: 27.07.2006 14:38
von Andavos
1. Geht nicht...

Code: Alles auswählen

// Timestamp auslesen bzw. das erste Mal schreiben 

					if (time() - $timestamp > 86400) 
					{ 
					  // neuen Timestamp speichern 
					  // Counter zurücksetzen 
					} 
					else 
					{ 
					  if(!file_exists("***.txt"))
					  {$counter=@fopen("***.txt", "a");}
					  else
					  {$counter=@fopen("***.txt", "r+");}
					  $rufauf=fgets($counter,800);
					  $rufauf=$aufruf+1;
					  rewind($counter);
					  fputs($counter,$aufruf_2);
					  fclose($counter);
					  echo "<br>Besucher heute:&nbsp;$rufauf";
					}

2. Kapier ich nicht...