Ich bin es mal wieder ;)
Ist es eigendlich möglich in das Usergästebuch eine Funktion einzubauen, dass der entsprechende User eine Mitteilung bekommt, dass er einen Eintrag in seinem GB hat?
Ich finde so etwas fehlt dem Teil nämlich noch :)
Ich dachte da, dass die Mitteilung dann in dem entsprechenden Postfach landen sollte...
Ganz unten im Who's Online Block steht dann immer ne kleine Geburtstags Torte . Das bedeuet er hat nen neuen eintrag
(Zuindest bei dem Who's online block von hier )
Ich haben den Messy Block von hier nicht im Einsatz, der will bei mir nicht laufen. Ich habe das Usergästebuch von hier und dacht einfach, es wäre eine gute Sache, wenn die User eine kurze Benachrichtigung erhalten.
Vielleicht gibt es ja eine Möglichkeit.
Mir ist noch etwas aufgefallen beim Usergästebuch!
Neue Einträge werden immer an den Schluß geschrieben. Kann man das so machen, dass die neuen Einträge an den Anfang gesetzt werden???
Die werden doch an den anfang gesezt
Also bei mir werden die an den Schluß geschrieben....
Ich nutze das Usergästebuch, welchen man im Downloadbereich von maax findet. Ich glaube das hier verwendete ist besser, gibt es aber nicht separat zum downloaden.... glaube ich jedenfalls ;)
Ähäöm
ZitatNeue Einträge werden immer an den Schluß geschrieben. Kann man das so machen, dass die neuen Einträge an den Anfang gesetzt werden???
Änder doch einfach die Datenbankabfrage. die hat bestimmt eine Sortierung
(ODER BY xxxx DESC oder ASC)
Desc - descending, Asc - ascending. das brauchst Du halt nur ändern
(DESC nach ASC bzw. umgekehrt).
Dann werden die Einträge andersherum angezeigt.
MfG
jubilee
Super, vielen Dank für den Hinweis! Werde ich mal versuchen! :)
Also ich habe da leider nix mit ASC od. DESC gefunden.
Hier mal der Code zum angucken:
<?php
include('mainfile.php');
include('header.php');
require_once("includes/sql_layer.php");
global $user, $cookie, $text, $prefix, $touser;
cookiedecode($user);
$username = $cookie[1];
if ($username == "") {
$username = "Anonymous";
}
$nutzersql = mysql_query("select * from $prefix"._users." where uname='$username'");
$eintrager=mysql_fetch_array($nutzersql);
$eemail = $eintrager["femail"];
$eurl = $eintrager["url"];
if($op=='signin')
{
opentable();
echo "<center><b>"._GBDABEI." $touser "._GBINPUT."</b></center>";
echo "<br>";
echo"<center>"._GBCAREFULL."</center>";
closetable();
echo "<br><br>";
opentable();
echo "<form action=guestbook.php?op=add&touser=$touser method=post>";
echo "<table width=\"50%\"><tr><td><b>"._GBYOURNAME."</b></td><td>$username</td></tr>\n"
."<tr><td><b>"._GBYOUREMAIL."</b></td><td>$eemail</td></tr>\n"
."<tr><td><b>"._GBYOURURL."</b></td><td>$eurl</td></tr>\n"
."<tr><td><b>"._GBYOURENTRY."</b></td><td><textarea name=\"text\" cols=\"41\" rows=\"10\"></textarea></td></tr>\n"
."<tr><td align=\"right\"><input type=\"reset\" NAME=\"reset\" value=\""._RESET."\"></td><td align=\"left\"><input type=submit value=\""._SEND."\"></td></tr></table>\n"
."</form>";
closetable();
}
if($op=='add')
{
$edate = date("Y-m-d");
$eintrag_sql = mysql_query("insert into $prefix"._userguest." (touser, text, wann, wer, email, url) VALUES ('$touser','$text','$edate','$username','$eemail','$eurl') ");;
opentable();
echo "<br><br><center><b>"._GBTHX."</b><br><a href=guestbook.php?touser=".$touser.">"._GBBACK." $touser</a>";
closetable();
}
Function delmessage(){
Global $gid, $prefix, $touser, $dbi, $op, $intro;
sql_query("DELETE FROM $prefix"._userguest." WHERE gid='$gid'", $dbi);
opentable();
print "<br><center>"._USERGB_DELETEMESSG2."<br><a href=guestbook.php?touser=".$touser.">"._INPUTHERE." $touser</a></center>";
closetable();
}
if($op=='')
{
$lesen_sql=mysql_query("select * from $prefix"._userguest." where touser='$touser'");
$ezahl = mysql_num_rows($lesen_sql);
opentable();
print("<center><b>"._GBFROM." ".$touser."</b></center>");
print("<br><center>"._GBREGUSER."</center><br>");
print("<br><center>"._GBNOW." ".$ezahl." "._GBEXIST."<br>");
if($user) print("<a href=guestbook.php?op=signin&touser=$touser><br>"._INPUTHERE."</a><br></center>");
closetable();
echo "<br><br>";
print("<table width='100%'border=0>");
for($i=1;$i<=$ezahl;$i++)
{
$eintrag=mysql_fetch_array($lesen_sql);
$euid=$eintrag["wer"];
$usersql=mysql_query("select user_avatar from $prefix"._users." where uname='$euid'");
$uavatar=mysql_fetch_array($usersql);
$avatar=$uavatar["user_avatar"];
print("<tr>");
print("<td BGCOLOR='$bgcolor3' width='30%'>");
print(""._INPUTDATE." ".$eintrag["wann"]."<br>");
print(""._INPUTNAME." ".$eintrag["wer"]."<br><br>");
print("<img src=images/forum/avatar/".$avatar." border=0><br><br>");
print("<img src=modules/Guestbook/images/mail.gif border=0> <a href=mailto:".$eintrag["email"].">".$eintrag["email"]."</a><br>");
print("<img src=modules/Guestbook/images/url.gif border=0> <a href=".$eintrag["url"].">".$eintrag["url"]."</a><br>");
print("<img src=modules/Guestbook/images/phpnuke.gif border=0> <a href=modules.php?name=Your_Account&op=userinfo&uname=".$eintrag["wer"].">Infos über ".$eintrag["wer"]."</a><br><br><br>");
Global $gid, $eintrag, $touser, $prefix, $cookie;
$result = mysql_query("select * from $prefix"._userguest." where touser='$touser'");
$querydel=mysql_fetch_array($result);
if ($querydel["touser"] == $cookie["1"]){
print("<br><a href=\"guestbook.php?op=del&touser=$touser&gid=".$eintrag["gid"]."\">"._USERGB_DELMESSAGE."<br>ID ".$eintrag["gid"]."</a>");
}
print("</td>");
print("<td BGCOLOR='$bgcolor1' width='70%'>".$eintrag["text"]."</td>");
print("</tr>");
}
print("</table>");
}
switch($op) {
case "del":
delmessage($gid);
break;
}
include('footer.php');
?>
Hmmm ja. Oder so gibts halt nur Standardsortierung
Nimm mal diese Zeile --->
Zitat$lesen_sql=mysql_query("select * from $prefix"._userguest." where touser='$touser'");
und so abändern
Zitat$lesen_sql=mysql_query("select * from $prefix"._userguest." where touser='$touser' ORDER BY date DESC");
DESC = neueste zuerst, ASC älteste zuerst.
Ich glaube, dann geht das. Mfg
jubilee
Hallo,
nein, geht leider nicht. Führt zu einer Fehlermeldung.
Naja, lasse es dann einfach mal so....
Vielen Dank jedenfalls für die Mühe :)
Welche Fehlermeldung kommt denn?
Vielleicht können wir dir dann doch noch helfen... : ;)
Na, ne Fehlermeldung musst du uns schon geben......sind doch nicht Herr des Codes das wir alles riechen können ;)
Ups, da habt Ihr natürlich recht! Hier ist die Fehlermeldung:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /is/htdocs/35099/www.psiforum.de/flirt/guestbook.php on line 68
Und dann habe ich noch die Frage offen, ob es möglich ist eine Funktion in dem Script einzubauen, die dem entsprechenden User eine kurze Nachricht in die Mailbox sendet, dass er einen neuen Eintrag hat. ;)
[Editiert am 21/7/2003 von taranis]
Jo mann. Da hast Du aber eine alte Version.
Hatte mir leider nicht alles durchgelesen.
Also, besagte Abfrage mal so probieren :
Zitat$lesen_sql=mysql_query("select * from $prefix"._userguest." where touser='$touser' ORDER BY wann DESC");
Die Tabellensplate date scheint es in Deiner Version (noch nicht) zu geben.
Zitat... Und dann habe ich noch die Frage offen, ob es möglich ist eine Funktion in dem Script einzubauen, die dem entsprechenden User eine kurze Nachricht in die Mailbox sendet, dass er einen neuen Eintrag hat. ...
Ja ;)
MfG
jubilee
[Editiert am 22/7/2003 von SiteAdmin jubilee]
Uuups,
ist das die Version aus unseren Downloads?
Das Ding ist dermassen alt....
Wenn ja, lösche ich das Ding sofort aus'm Downloadbereich....
Hmmm ...
Da er hier im Forum PhpNuke 5.x ist,
denke ich auch mal das er diese Version nutzt.
Und seine UGuestbook-Version ist wohl die vom PHP-Nuke 5.5.
Also noch kleine optimierte aus'm 5.5VKP
MfG
jubilee
:D meinte ich ja....
Das Ding ist in meinen Augen Müll und hat in den Downloads nix zu suchen ;)
@SiteAdmin jubilee
Super... das funktioniert jetzt einwandfrei!!!!! :)
Naja, ich weiß nicht ob es ne alte Version ist. Ist aber die einzigste, die ich gefunden habe. Ich habe nuke 5.6.
Wollte auf VKP updaten aber leider haben dort einige genutzte sachen nicht mehr richtig funktioniert. Ist dann blöd, wenn man seinen Usern irgendwas wegnehmen muss ;)
Naja...welche sachen haben denn net mehr funktioniert?
Hi Bowling,
also das Schwerwiegenste Problem war, dass vom Script generierte Schalter (z.b. abschicken oder speichern) in einigen Modulen nicht mehr funktionirt haben. Wenn man dort drauf geklickt hat, landete man auf seinem eigenen Profil.
Dies lag allerdings irgendwie an dem verwendeten Messenger. Hatte ich den deaktiviert, lief es wieder. :-(
Es hat vorallem meine verwendeten Module der Kontaktanzeigen und Hot or Not betroffen. Ich habe dann nicht mehr weiter getestet, weil das die stärksten Zugpferde bei mir sind. (mittlerweile 447 User in 3 Wochen)
Was war noch? Mit dem Kalender gab es einige Probleme, der führte bei mir zu ellenlangen Fehlermeldungen auf der Hauptseite.
Um das alles schnell wieder in Ordnung zu bringen hatte ich dann wieder meine Sicherheitskopie drübergezogen. Mir wäre es natürlich viel lieber gewesen, wenn vkp gelaufen wäre, weil es einfach viel viel besser ist als nur nuke5.6.
Hmm..alles sehr eigenartig!
Naja..wenn das VKPMx2 draussen ist kannst du dein Glück ja nochmal versuchen *G*. Die beiden Module sollten allerdings laufen! Das VKP basiert ja auf PHPNuke 5.5 und mir ist bisher kein Modul unter den Nagel gekommen was dort nicht gelaufen ist!
Wie gesagt...versuch es in den nächste Wochen mal mit dem VKPMX2
[Editiert am 22/7/2003 von SiteAssistant BowlingX]
Lag vielleicht daran, dass ich ein Update von der 5.6er gemacht habe und nicht von einer vkp???
Habe mir die 2.0 Demo schon angesehen und muss sagen, sieht einfach nur gut aus :)
Reizt mich also schon, vorallem weil es einfach besser ist als die Grundversion. Aber Du weist ja, habe immer Panik, dass anschließend die User nicht mehr da sind oder Daten verloren gehen.
Kann natürlich auch sein, dass ich was falsch gemacht hatte bei der Inst. Bin leider nicht der Fachmann. Obwohl man hier bei Euch echt einiges lernen kann und ich versuche ja auch oft was selbst hinzubekommen ;)
Zitat... Und dann habe ich noch die Frage offen, ob es möglich ist eine Funktion in dem Script einzubauen, die dem entsprechenden User eine kurze Nachricht in die Mailbox sendet, dass er einen neuen Eintrag hat. ...
Ja ;)
Und welche???? :D
Da ist die funktion damit die Torte im Who's Online block angezeigt wird wenn ein Eintrag in Usergb gemacht wurde ....
Zitat# Usergaestebuch
if($gbnewentries>0){
$content .= "<div align=\"left\"><a href=\"guestbook.php?op=view&touser=$username\">
<img src=\"$imagedir/tcake.gif\" width=\"19\" height=\"19\" border=\"0\" Alt=\""._BWOGUESTBOOK."\"></a> \n
<b>$gbnewentries </b><a href=\"guestbook.php?op=view&touser=$username\">";
if($gbnewentries==1){
$content .= ""._BWOGUESTBOOK1."";
}
else {
$content .= ""._BWOGUESTBOOK2."";
}
$content .= "</a></div>";
}
}
Müsste du dann in deinen Who's Online Block reintun und bissl modifizieren .
Vielleicht schaff ich es ja auch werds mal versuchen :) <-- Hab gerade keine Zeit dafür aber ich versuchs die nächsten Tage
[Editiert am 22/7/2003 von Future]
Nur mal ein Schnellschuss :
Nicht geprüft nur so aus dem gedächnis geschrieben, deshalb keine Gewähr :
Diese Funktion :
Zitatif($op=='add')
{
$edate = date("Y-m-d");
$eintrag_sql = mysql_query("insert into $prefix"._userguest." (touser, text, wann, wer, email, url) VALUES ('$touser','$text','$edate','$username','$eemail','$eurl') ");
opentable();
echo "<center><b>"._GBTHX."</b>& lt;a href=guestbook.php?touser=".$touser.">"._GBBACK." $touser</a>";
closetable();
}
mal bitte so ändern und probieren :
Zitatif($op=='add')
{
$edate = date("Y-m-d");
$eintrag_sql = sql_query("insert into $prefix"._userguest." (touser, text, wann, wer, email, url) VALUES ('$touser','$text','$edate','$username','$eemail','$eurl') ", $dbi);
opentable();
echo "<center><b>"._GBTHX."</b>& lt;a href=guestbook.php?touser=".$touser.">"._GBBACK." $touser</a>";
$message="Sie haben einen neuen Eintrag in Ihrem Gästebuch"; //hier die Message
$subject="Neuer Eintrag in usergästebuch"; //Hier der Subject
$uid=$nutzersql['uid'];
$to_userid=sql_fetch_row (sql_query("select uid from $prefix"._users." where uname='$touser'", $dbi), $dbi);
$qry = "INSERT INTO ".$prefix."_priv_msgs (subject, from_userid, to_userid, msg_time, msg_text) ";
$qry .= "VALUES ('".$subject."', ".$uid.", ".$to_userid[0].", now(), '".$message."')";
if(!$result = sql_query($qry, $dbi))
{
echo "ERROR<br>";
echo "Irgendetwas klappt nich ....<br>";
echo "Variable von User : ".$uid." .<br>";
echo "Variable zu User : ".$to_userid[0]." .<br>";
}
closetable();
}
Es soll bei einem Eintrag in Usergästebuch eine PM an den betreffenden User gesendet werden. Absender der PM ist der Einträger im Usergästebuch.
MfG
jubilee
[Editiert am 22/7/2003 von SiteAdmin jubilee]
Das bekomme ich nach dem Einbau:
Parse error: parse error, unexpected '[' in /is/htdocs/35099/www.psiforum.de/flirt/guestbook.php on line 55
Zeile 55 steht bei mir:
$uid=nutzersql['uid'];
[Editiert am 22/7/2003 von taranis]
Ohhh ja..... SChReiBfehlr .....
Zitat$uid=nutzersql['uid'];
ändern in
Zitat$uid=$nutzersql['uid'];
Hab ich oben im Text schon angepasst.
Sorry verschrieben .....
Ist ja nicht schlimm, kann doch passieren! Bin ja froh, dass Du Dich meinem Wunsch angenommen hast! :)
Wenn ich jetzt einen Eintrag vornehme, kommt auf der Seite nach dem Abschicken:
Vielen Dank, Ihr Eintrag wurde vorgenommen.& lt;a href=guestbook.php?touser=Andreas>Hier geht es zurück zun Gästebuch von AndreasERRORIrgendetwas klappt nich ....
Jaja, ich glaub ich werd alt ........
Zitat$qry .= "VALUES ('".subject."', ".$uid.", ".$to_userid.", now(), '".$message."')";
ändern in
Zitat$qry .= "VALUES ('".$subject."', ".$uid.", ".$to_userid.", now(), '".$message."')";
MfG
jubilee
Bleibt weiter
Vielen Dank, Ihr Eintrag wurde vorgenommen.& lt;a href=guestbook.php?touser=Andreas>Hier geht es zurück zun Gästebuch von AndreasERRORIrgendetwas klappt nich ....
Hmmmm ....
diesen Abschnitt
Zitatecho "ERROR";
echo "Irgendetwas klappt nich ....";
mal so erweitern/ändern :
Zitatecho "ERROR<br>";
echo "Irgendetwas klappt nich ....<br>";
echo "Variable von User : ".$uid." .<br>";
echo "Variable zu User : ".$to_userid[0]." .<br>";
dann haben wir einen Anhaltspunkt.
MfG
jubilee
Ausgabe wie folgt:
Vielen Dank, Ihr Eintrag wurde vorgenommen.& lt;a href=guestbook.php?touser=Andreas>Hier geht es zurück zun Gästebuch von AndreasERROR
Irgendetwas klappt nich ....
Variable von User : .
Variable zu User : 2 .
Hmmm....
Ich glaub ich weiss schon.
Die vorigen Änderungen kannst Du ruhig eintragen.
ich denke das hier
Zitat$to_userid=sql_fetch_row (sql_query("select uid from $prefix"._users." where uname='$touser'", $dbi), $dbi);
muss so aussehen:
Zitatlist ($to_userid)=sql_fetch_row (sql_query("select uid from $prefix"._users." where uname='$touser'", $dbi), $dbi);
....
Es bleibt:
Vielen Dank, Ihr Eintrag wurde vorgenommen.& lt;a href=guestbook.php?touser=Andreas>Hier geht es zurück zun Gästebuch von AndreasERROR
Irgendetwas klappt nich ....
Variable von User : .
Variable zu User : 2 .
Aller Klar !!
Letzte Änderung --->
$to_userid=sql_fetch_row (....wieder zurück !
stattdessen :
Zitat$uid=$nutzersql['uid'];
ändern in :
Zitat$uid=$eintrager['uid'];
Dann sollte es endlich gehen .... hoffe ich ;-)
Ausgabe jetzt:
Vielen Dank, Ihr Eintrag wurde vorgenommen.& lt;a href=guestbook.php?touser=Andreas>Hier geht es zurück zun Gästebuch von AndreasERROR
Irgendetwas klappt nich ....
Variable von User : 2 .
Variable zu User : 2 .
Dat Teil will mich ärgern.
Zitat$qry .= "VALUES ('".$subject."', ".$uid.", ".$to_userid.", now(), '".$message."')";
Zitatändern in
Zitat$qry .= "VALUES ('".$subject."', ".$uid.", ".$to_userid[0].", now(), '".$message."')";
Bitte probieren ....
Jo, jetzt klappt es!!!!! :)
Ausgabe jetzt nach dem Eintrag:
Vielen Dank, Ihr Eintrag wurde vorgenommen.a href=guestbook.php?touser=Andreas>Hier geht es zurück zun Gästebuch von Andreas
Das einzigste, was nicht geht ist der Backlink zurück ins GB!
Ansonsten funzt es. Auch die Message wird verschickt!
Jo, hat etwas gedauert.
Hab etwas rumgetrottelt.
ann hier aber im Moment auch nix prüfen.
Das mit dem backlink müsste auch noch hinzukriegen sein.
Zitatif($op=='add')
{
$edate = date("Y-m-d");
$eintrag_sql = sql_query("insert into $prefix"._userguest." (touser, text, wann, wer, email, url) VALUES ('$touser','$text','$edate','$username','$eemail','$eurl') ", $dbi);
opentable();
echo "<center><b>"._GBTHX."</b>& lt;a href=guestbook.php?touser=".$touser.">"._GBBACK." $touser</a>";
$message="Sie haben einen neuen Eintrag in Ihrem Gästebuch"; //hier die Message
$subject="Neuer Eintrag in usergästebuch"; //Hier der Subject
$uid=$eintrager['uid'];
$to_userid=sql_fetch_row (sql_query("select uid from $prefix"._users." where uname='$touser'", $dbi), $dbi);
$qry = "INSERT INTO ".$prefix."_priv_msgs (subject, from_userid, to_userid, msg_time, msg_text) ";
$qry .= "VALUES ('".$subject."', ".$uid.", ".$to_userid[0].", now(), '".$message."')";
if(!$result = sql_query($qry, $dbi))
{
echo "ERROR";
echo "Irgendetwas klappt nich ....";
echo "Variable von User : ".$uid." .";
echo "Variable zu User : ".$to_userid[0]." .";
}
closetable();
}
ändern nach :
Zitatif($op=='add')
{
$edate = date("Y-m-d");
$eintrag_sql = sql_query("insert into $prefix"._userguest." (touser, text, wann, wer, email, url) VALUES ('$touser','$text','$edate','$username','$eemail','$eurl') ", $dbi);
$message="Sie haben einen neuen Eintrag in Ihrem Gästebuch"; //hier die Message
$subject="Neuer Eintrag in usergästebuch"; //Hier der Subject
$uid=$eintrager['uid'];
$to_userid=sql_fetch_row (sql_query("select uid from $prefix"._users." where uname='$touser'", $dbi), $dbi);
$qry = "INSERT INTO ".$prefix."_priv_msgs (subject, from_userid, to_userid, msg_time, msg_text) ";
$qry .= "VALUES ('".$subject."', ".$uid.", ".$to_userid[0].", now(), '".$message."')";
if(!$result = sql_query($qry, $dbi))
{
opentable();
echo "ERROR";
echo "Irgendetwas klappt nich ....";
echo "Variable von User : ".$uid." .";
echo "Variable zu User : ".$to_userid[0]." .";
closetable();
}
opentable();
echo "<center><b>"._GBTHX."</b><a href=guestbook.php?touser=".$touser.">"._GBBACK." $touser</a>";
closetable();
}
dann sollte alles gehen....
[Editiert am 22/7/2003 von SiteAdmin jubilee]
Jetzt haben wir folgendes:
ERROR
Irgendetwas klappt nich ....
Variable von User : .
Variable zu User : 2 .
Vielen Dank, Ihr Eintrag wurde vorgenommen.& lt;a href=guestbook.php?touser=Andreas>Hier geht es zurück zun Gästebuch von Andreas
Schei.... benkleister.
Wieder dasselbe wie vorhin. ich hab noch eine alte Version in der Zwischenablage gehabt---->
NICHT
$uid=$nutzersql['uid'];
sondern
$uid=$eintrager['uid'];
und achte mal darauf >& lt;a href (ganz unten)
entweder kein leerzeichen zwischen & und lt
oder das & lt; gegen eine < ersetzen.
Dann sollte der Link auch gehen.
[Editiert am 22/7/2003 von SiteAdmin jubilee]
OKI!
Es lag am <
Jetzt funktionier alles einwandfrei!
jubilee, ich danke Dir vielmals für die Mühe die ich Dir gemacht habe und das Du es so schnell hinbekommen hast!
Einfach Sptzenmäßig!!!!! :)
Naja... siehste
brauchten wir uns wenigstens nicht langweilen heut abend ;)
MfG
jubilee
*lol* Naja Du hattest ja die ganze Arbeit!
Ich brauchte ja nur kopieren und einfügen!
Aber klappt wirklich super!
Hallo zusammen,
nachdem das GB jetzt ein paar Tage lief wurde ich heute darauf aufmerksam gemacht, dass neue Einträge nicht angezeigt werden.
Tatsächlich ist es so, dass wenn man einen Eintrag vornimmt alles ganz normal abläuft (keine Fehlermeldung). Nur der Eintrag ist nicht vorhanden. In der Datenbank ist er auch nicht auffindbar.
Nun hatte ich zum testen das Originalscript drauf gespielt und auch dort werden keine Daten in die Datenbank geschrieben.
Was könnte das denn sein???
Hi Taranis,
wie gesagt, uralt das Ding...
Aber hier steht vermutlich die Lösung:
//modules.php?op=modload&name=eBoard&file=viewthread&tid=4209#pid21281 :)
Hi Andi,
vielen Dank, hat geholfen! Jetzt klappt es wieder...