ERLEDIGT
NEIN
NEIN
ANTWORTEN
16
16
ZUGRIFFE
431
431
EMPFEHLEN
-
12.04.05 14:24 #1jaylibII Tutorials.de Gastzugang
Hallo und guten Tag,
ich hoffe mal, dass Ihr mir helfen könnt. Und zwar ich bin gerade dabei ein Forum zu erstellen bzw. es ist eigentlich schon fast fertig. Nun möchte ich einfach noch ein paar Funktionen habe aber weiß da wirklich nicht so weiter.
Es soll eine Funktion geben, wo der Admin sagen kann, dass dieser Tread z.B. geschlossen ist.
Dann soll da stehen wo sonst immer steht [Antworten] soll dann stehen [geschlossen] und man kann dann einfach darauf nimmer antworten. Hmm kann mir da jemand von euch helfen, wie ich das umsetzten kann?
Gruß jaylibII
-
12.04.05 14:32 #2
Hm wenn du uns nicht sagst was du denn für ein Forum benutzt können wir dir gut weiterhelfen. Verwendest du phpBB oder ein ähnliches? Wenn ja wird es bestimmt irgend einen Mod dafür geben...
Wenn du uns mehr Informationen wirst Dir bestimmt eher geholfen
MfG AqUaSoN!C
o Wie man richtig Fragen stellt o
o Nicht in Problemen sondern in Lösungen denken! o
o Es gibt 2 Dinge, die sind unendlich: das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir noch nicht ganz sicher. o
> Meine Linksammlung > http://linksys.aquasonic.ch
> Mein Wiki > http://wiki.aquasonic.ch
-
12.04.05 14:41 #3jaylibII Tutorials.de Gastzugang
Hallo,
nee du das ist ein Forum das ich selber geschrieben habe. Hier ein ein Teil vom Code:
PHP-Code:<?php
include("config.php"); // config datei laden.
error_reporting(E_ALL);
//echo "<a href=index.php>Zurück zur übersicht</a><br><br>";
$ppu = array(); // posts per user
$threadid = $_GET['threadid']; // threadid aus adressleiste auslesen
$fp = fopen("template_post.html","r"); // teamplate zum lesen(r) öffnen
$template = fread($fp,filesize("template_post.html")); // inhalt der template datei in die teamplate variable laden.
$sql = "SELECT * FROM simple_posts WHERE threadid = '".mysql_escape_string($threadid)."' ORDER BY postid ASC";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_Assoc($result)) {
$von = $row['von'];
if (!isset($ppu[$von])) {
$ppusql = "SELECT COUNT(*) AS anzahl FROM `simple_posts` WHERE `von`='$von'"; //[1]
$ppuresult = mysql_query($ppusql) OR die(mysql_error());
$ppurow = mysql_fetch_assoc($ppuresult);
$ppu[$von] = $ppurow['anzahl']; ;
}
$benutzer_rang = "init";
if ($ppu[$von] == "martin")
$benutzer_rang = "Mitarbeiter";
else {
if ($ppu[$von] <= 50){ // alle Beiträge unter und einschließlich 100
$benutzer_rang = "Anfänger";
}
elseif ($ppu[$von] <= 100){ // alle Beiträge unter und einschließlich 500
$benutzer_rang = "Fortgeschrittener";
}
elseif ($ppu[$von] <= 200){ // alle Beiträge unter und einschließlich 500
$benutzer_rang = "Halbprofi";
}
elseif ($ppu[$von] <= 300){ // alle Beiträge unter und einschließlich 500
$benutzer_rang = "Profi";
}
elseif ($ppu[$von] <= 10000){ // alle Beiträge unter und einschließlich 1000
$benutzer_rang = "Champion";
}
else
$benutzer_rang = "Super Champion";
}
if (file_exists("profilbilder/forum/". $von.".jpg")) // Das Anzeigebild abrufen
{
$bild='<img src="profilbilder/forum/'.$von.'.jpg">';
}
else
{
$bild='';
}
$titel = $row['titel']; // titel besorgen
$von = $row['von']; // von besorgen
$datum = $row['datum']; // datum besorgen
$post = $row['post']; // post besorgen
$anzahl = $ppu[$von];
$datum = strftime("%d.%m.%Y",$datum); // datum formatieren
//Echo "Benutzerrang ->".$benutzer_rang."<-<br>";
$ausgabe = $template;
$ausgabe = str_replace("{von}",'<a href = http://community/profils.php?user=' . $von . '>' . $von . '</a>',$ausgabe); // von ins template einsetzen
$ausgabe = str_replace("{titel}",$titel,$ausgabe); // titel ins template einsetzen
$ausgabe = str_replace("{datum}",$datum,$ausgabe); // datum ins template einsetzen
$ausgabe = str_replace("{anzahl}",$ppu[$von],$ausgabe);
$ausgabe = str_replace("{text}",echo_message($post,false,true),$ausgabe); // den post text ins template einsetzen
$ausgabe = str_replace("{rang}",$benutzer_rang,$ausgabe); // rang ins template einsetzen
$ausgabe = str_replace("{bild}",$bild,$ausgabe); // rang ins template einsetzen
$ausgabe = str_replace("{message}",'<a href = http://community/mypost.php?show=write&empfaenger=' . $von . '>Message schreiben</a>',$ausgabe); // den post text ins template einsetzen
echo $ausgabe;
};
?>
-
Er hat doch geschrieben, das es sein eigenes ist!
@jaylibII
Du könntest ja einfach noch eine Spalte in deine MySQL-Tabelle einfügen (falls es auf MySQL aufgebaut ist) in der dann steht ob es geöffnet oder geschlossen ist!
greetz
daddzbe inspired...simplify...
-
12.04.05 14:44 #5jaylibII Tutorials.de Gastzugang
Hmm also du meinst in die Tablle noch eine Spalte tu wo dann heißt Status und dann beim eintragen automatisch immer 1 eintragen lassen und wenn man dann eben etwas schließt dann 0 eingeben oder?
Aber wie kann ich das machen, dass eben ein Admin das im Tread entscheiden kann dass der Beitrag geschlossen wird. Wie müsste da die Funktion sein oder hmm ich weiß nicht wie ich das umsetzten soll.
Verstehst du was ich meine?
-
12.04.05 14:46 #6Ich habe das so verstanden dass er Forum hat an dem er ein paar Sachen verändert hat und jetzt nicht mehr wiess wo er das einbauen soll.
Zitat von daddz
Also ich denke mal (so Anhand von seinem Code) ist das schon MySQL
Zitat von daddz

Die Idee mit dem Flag ist gut, mach ein neues Attribut in die DB und prüfe das beim anzeigen der Beiträge. Denke daran auch beim Versuch trotzdem einen Eintrag einzufügen dies abzufangen.MfG AqUaSoN!C
o Wie man richtig Fragen stellt o
o Nicht in Problemen sondern in Lösungen denken! o
o Es gibt 2 Dinge, die sind unendlich: das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir noch nicht ganz sicher. o
> Meine Linksammlung > http://linksys.aquasonic.ch
> Mein Wiki > http://wiki.aquasonic.ch
-
Du könntest ja eine Funktion schreiben, die überprüft welchen Status du hast. Wenn dein Status dann Admin ist kannst du zusätzlich das Thema noch schließen, bearbeiten, etc.
Ja genau so meinte ich das!Hmm also du meinst in die Tablle noch eine Spalte tu wo dann heißt Status und dann beim eintragen automatisch immer 1 eintragen lassen und wenn man dann eben etwas schließt dann 0 eingeben oder?
greetz
daddzbe inspired...simplify...
-
-->siehe ThemaIch habe das so verstanden dass er Forum hat an dem er ein paar Sachen verändert hat und jetzt nicht mehr wiess wo er das einbauen soll.
Siehe Uhrzeit meines Posts und Uhrzeit jaylibll´s Post.Also ich denke mal (so Anhand von seinem Code) ist das schon MySQL
Aber naja...das ist ja jetzt auch egal!
be inspired...simplify...
-
12.04.05 14:54 #9jaylibII Tutorials.de Gastzugang
Hallo,
Joa und das verstehe ich nicht richtig, wie kann ich dann mit einem Link oder so machen, dass eben genau dieser Tread dann auch geschlossen ist. Also so sieht die Tabelle in der DB nun aus:Du könntest ja eine Funktion schreiben, die überprüft welchen Status du hast. Wenn dein Status dann Admin ist kannst du zusätzlich das Thema noch schließen, bearbeiten, etc.
CREATE TABLE `threads` (
`threadid` int(11) NOT NULL auto_increment,
`boardid` int(11) NOT NULL default '0',
`status` char(2) NOT NULL default '',
PRIMARY KEY (`threadid`)
) TYPE=MyISAM AUTO_INCREMENT=12 ;
So hmm wenn ich nun was eintragen lasse dann soll immer der Status 1 genommen werden das ist dann dass der Beitrag dann offen ist das heißt dann dass man auf den Beitrag antworten kann.
Wenn dann der Status 0 ist dann kann man einfach nimmer drauf antowrten, das heißt dann dass einfach der Link ausgeblendet wird.
So das habe ich nun alles verstanden. Wie muss das aber nun aussehen, dass ich eben auch den Status wenn User = jaylibII ist dass dann eben der Link erscheint dass man das auf 0 ändern kann?
-
12.04.05 14:59 #10
Du loggst dich ja bestimmt ein und speicherst die Userdaten in einer Session oder?
Jetzt kannst du prüfen ob der User (der in der Session gespeichert ist) der admin ist, wenn ja, zeigst du einen Button an (eben z.b. "sperren"). Mit diesm Button rufst du dann eine Seite auf (übergibst auch die Thread ID). Auf dieser Seite überprüfst du dann wieder ob der eingeloggte Benutzer auch wirklich der Admin ist. Wenn ja setzt du das Flag auf '0'.
Wenn du jetzt ein Thread anzeigst und dieser der Status 0 hat dann musst du nun einfach den Button "antworten" ausblenden. Auf der Seite wo du dann die Einträge in die DB einträgst solltest du jedoch auch wieder überprüfen ob der Thread geschlossen ist oder nicht.
Verstehst du wie ich/wir es meinen?MfG AqUaSoN!C
o Wie man richtig Fragen stellt o
o Nicht in Problemen sondern in Lösungen denken! o
o Es gibt 2 Dinge, die sind unendlich: das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir noch nicht ganz sicher. o
> Meine Linksammlung > http://linksys.aquasonic.ch
> Mein Wiki > http://wiki.aquasonic.ch
-
12.04.05 15:02 #11jaylibII Tutorials.de Gastzugang
Das mit der Session ist gar kein Problem die Funktion gibts ja auch schon siehe oben im Code.
Was ich nicht ganz verstehe wie muss der Befehl heißen, dass ich das eben auf 0 setzten kann. Da komme ich nicht weiter. Alles andere mit der Dastellung und so ist dann gar kein Problem mehr.
-
12.04.05 15:06 #12PHP-Code:
mysql_query("UPDATE threads SET status = 0 WHERE threadid = ".$threadid);
MfG AqUaSoN!C
o Wie man richtig Fragen stellt o
o Nicht in Problemen sondern in Lösungen denken! o
o Es gibt 2 Dinge, die sind unendlich: das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir noch nicht ganz sicher. o
> Meine Linksammlung > http://linksys.aquasonic.ch
> Mein Wiki > http://wiki.aquasonic.ch
-
Das Board kenn ich doch
Hallo nochmals 
Also, du musst einfach ein Link machen der +/- so aussieht..
http://link-zu-deinem-file.php?threadId=1323232
In dem File hat es ein SQL Statement das das Flag Feld in der DB auf 1 setzt, was heisst, das der Thread nun geschlossen ist. Verstanden?
Oder habe ich deine Frage nicht richtig verstanden?
MFG
redXEs gibt ein leben vor dem Tod
-
12.04.05 15:09 #14jaylibII Tutorials.de Gastzugang
Sorry ich verstehe gerade gar nichts mehr. Ich stehe richtig auf dem Schlauch
-
Schritt 1 Ist der User Admin
Wenn ja zeige einen Link an welcher den Thread schlisst.
Wenn nein zeige den LInk nicht an.
In der Datenbank gibt es bei dem Thread Tabelle ein Feld welches 1 oder 0 ist. Wenn es 0 ist ist der Thread geöffnet. Wenn es 1 ist, ist der Thread geschlossen (oder umgekehrt, wie du möchtest). Das Feld heisst z.B. closed
Der Link öffnet ein PHP File welches ein SQL Statement enthält welches das Feld closed auf 1 setzt mit dem SQL Statement von aquasonic (muss natürlich noch angepasst werden).
Der link sieht dann so aus:
http://link-zu-deinem-file.php?threadId=1323232
Und in dem File öffnest du zuerst eine Verbindung zu MYSQL, dann zu der Gewünschten Datenbank und gibst dann das Statement ab das closed auf 1 setzt. Eben das
mysql_query("UPDATE threads SET status = 0 WHERE threadid = ".$threadid);
Verstanden? WEnn nicht, was begreifst du nicht?
MFG
redXEs gibt ein leben vor dem Tod
Ähnliche Themen
-
close Problem bei meinem eigenen ToolTip
Von darksmilie im Forum JavaAntworten: 7Letzter Beitrag: 13.12.06, 10:00 -
kann ich GoLive 6 meine eigenen Funktionen beibrigen?
Von magenta4c im Forum PHPAntworten: 0Letzter Beitrag: 20.09.05, 13:27 -
Optionale Funktionsparamter bei eigenen Funktionen
Von D3stroyer im Forum PHPAntworten: 2Letzter Beitrag: 12.02.05, 16:39 -
Neue Beiträge farblich markieren in meinem Forum
Von zweitausendvier im Forum PHPAntworten: 3Letzter Beitrag: 20.07.04, 10:38 -
Hilfe zu meinem Forum Textabstände
Von Lukasz im Forum PHPAntworten: 4Letzter Beitrag: 05.07.04, 17:59





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren