-
Supportticket
Hallo,
habe auf meiner Seite das Supportticket installiert.
Funktioniert auch wunderbar, bis das man nur eine Anfrage stellen kann und dann keine mehr. Folgendes steht dann da:
Aus Sicherheitsgründen können Sie eine neue Supportanfrage erst in einigen Momenten stellen.
Bei IP-Sperre in Minuten für neue Supportanfrage hab ich 5 stehen.
Kann mir dabei jemand helfen, das ich es zum laufen bringe?
Vielen Dank schonmal.
Gruß Roadstar
-
Auch die Differenz zwischen den Supporttickets beachtet?
Also >= 5 Minutne unterschied?
-
Ja, ich hab es jetzt nochmal probiert. Geht leider immer noch nicht.
Das letzte Ticket war vom 05.10.2007 12:37
Das ist die support.php, die ich verwende und wie sie auch im Download Bereich zu finden ist.
PHP-Code:
<?
userstatus();
$spr = 5; // IP-Sperre in Minuten für neue Supportanfrage
function newmail() {
global $betreibermail, $domain, $seitenname;
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
if($rows == 0) {
$text = 'Guten Tag!
Es sind eine oder mehrere neue Supportanfragen auf '.$seitenname.' eingegangen.
Bitte gehen Sie in Ihr Adminforce ('.$domain.'/adminforce/) und beantworten Sie die vorhanden Supportanfrage(n).
Mit freundlichen Grüßen, '.$seitenname;
mail($betreibermail, "Supportanfrage auf ".$seitenname." eingegangen", $text, "From: ".$betreibermail);
}
}
$support_reload = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_reloads WHERE tan='Supportanfrage' AND uid='".$_SESSION['uid']."'"));
if(isset($_REQUEST['antworten']) == 1 && $support_reload == 0 && isset($_POST['antwort'])) {
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
if($rows == 0) { newmail(); }
db_query("INSERT INTO ".$db_prefix."_support (uid,subid,betreff,text,zeit) VALUES ('".$_SESSION['uid']."','".$_REQUEST['id']."','".$_POST['betreff']."','".$_POST['antwort']."','".time()."')");
db_query("UPDATE ".$db_prefix."_support SET status=0 WHERE id='".$_REQUEST['id']."'");
$new_reload = time()+($spr*60);
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_SESSION['uid']."','Supportanfrage','".$new_reload."')") or die(mysql_error());
}
if(isset($_REQUEST['neueanfrage']) == 1 && $support_reload == 0 && isset($_POST['antwort'])) {
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
if($rows == 0) { newmail(); }
db_query("INSERT INTO ".$db_prefix."_support (uid,subid,betreff,text,zeit) VALUES ('".$_SESSION['uid']."','0','".$_POST['betreff']."','".$_POST['antwort']."','".time()."')");
$new_reload = time()+($spr*60);
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_SESSION['uid']."','Supportanfrage','".$new_reload."')") or die(mysql_error());
}
$support_reload = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_reloads WHERE tan='Supportanfrage' AND uid='".$_SESSION['uid']."'"));
if($support_reload > 0) {
head("Hinweis");
?><center><b>Aus Sicherheitsgründen können Sie eine neue Supportanfrage erst in einigen Momenten stellen.</b></center><?
foot(); }
if(isset($_REQUEST['act']) == "show") {
$sql = db_query("SELECT * FROM ".$db_prefix."_support WHERE uid='".$_SESSION['uid']."' AND subid=0 AND id='".$_REQUEST['id']."'");
if(mysql_num_rows($sql) > 0) {
$res = mysql_fetch_array($sql);
head("Anfrage");
?>
<table width="100%" cellpadding="5" cellspacing="1" border="0" bgcolor="#f6d288">
<tr bgcolor="#2E84B5" style="color: #ffffff;">
<td width="100%"><b><? echo $res['betreff']; ?><b></td>
</tr>
<tr bgcolor="#FAEBD7">
<td><font face="Courier New" size="2" color="black"><? echo nl2br($res['text']); ?><hr size="1" color="#800000" width="95%"><div align="right"><font size=1 color="black"><? echo date("d.m.Y H:i", $res['zeit']); ?></font></div></font></td>
</tr>
</table>
<?
foot();
head("Antworten");
$repsql = db_query("SELECT * FROM ".$db_prefix."_support WHERE uid='".$_SESSION['uid']."' AND subid=".$res['id']." ORDER BY zeit ASC");
while($reply = mysql_fetch_array($repsql)) {
?>
<table width="100%" cellpadding="5" cellspacing="1" border="0" bgcolor="#FAEBD7">
<tr bgcolor="#2E84B5">
<td width="100%"><b><? echo $reply['betreff']; ?><b></td>
</tr>
<tr bgcolor="#FAEBD7">
<td><font face="Courier New" size="2" color="black"><? echo nl2br($reply['text']); ?><hr size="1" color="#800000" width="95%"><div align="right"><font size=1 color="black"><? echo date("d.m.Y H:i", $reply['zeit']); ?></font></div></font></td>
</tr>
</table>
<br />
<?
}
if(mysql_num_rows($repsql) == 0) { ?><center><b>Noch keine Antworten vorhanden!</b></center><? }
foot();
if($res['status'] != 2) {
head("Eine Antwort schreiben");
?><div align="center">
<table border="0" cellpadding="4" cellspacing="0" align="center">
<form action="?content=/intern/support&id=<? echo $_REQUEST['id']; ?>&antworten=1" method="POST">
<tr>
<td width="30%">
Betreff: <br />
<input type="text" name="betreff" size="67" maxlength="255" value="RE: <? echo $res['betreff']; ?>"></td>
</tr>
<tr>
<td>
Antwort: <br />
<textarea name="antwort" cols="70" rows="8"></textarea>
</td>
</tr>
</table>
<p align="center">
<input type="submit" class="button" value="Antworten">
<input type="reset" class="button" value="Zurücksetzen">
</form>
</p></div>
<?
foot();
} else {
head("Hinweis!");
?><center><b>Thema geschlossen. Keine Antwort mehr möglich !</b></center><?
foot();
}
} else {
head("Fehler!");
?><center><b>Falsche Ticket-ID übergeben!</b></center><?
foot();
} }
if(!isset($_REQUEST['act'])) {
$sql = db_query("SELECT * FROM ".$db_prefix."_support WHERE uid='".$_SESSION['uid']."' AND subid=0");
head("Bisherige Supportanfragen");
?>
<table width="100%" cellpadding="1" cellspacing="1" border="0" bgcolor="#f6d288">
<tr bgcolor="#2E84B5">
<td align="center" width="5%"><b>ID</b></td>
<td align="center" width="60%"><b>Betreff</b></td>
<td align="center" width="20%"><b>Status</b></td>
<td align="center" width="15%"><b>Datum</b></td>
</tr>
<?
if(mysql_num_rows($sql) > 0) {
while($ticket = mysql_fetch_array($sql)) {
if($ticket['status'] == 0) { $status = "Unbeantwortet"; }
if($ticket['status'] == 1) { $status = "Beantwortet"; }
if($ticket['status'] == 2) { $status = "Geschlossen"; }
?>
<tr bgcolor="#FAEBD7">
<td align="center"><font color="black"><? echo $ticket['id']; ?></font></td>
<td><a href="?content=/intern/support&act=show&id=<? echo $ticket['id']; ?>"><font color="black"><b><? echo $ticket['betreff']; ?></a></b></font></td>
<td align="center"><font color="black"><? echo $status; ?></font></td>
<td align="center"><font color="black"><? echo date("d.m.Y H:i", $ticket['zeit']); ?></font></td>
</tr>
<?
} } else {
?>
<tr bgcolor="#FAEBD7">
<td align="center" colspan="4"><b>Keine Supportanfragen vorhanden !</b><br /></td>
</tr>
<? } ?>
</table>
<?
foot();
head("Neue Supportanfrage");
?><div align="center">
<table border="0" cellpadding="4" cellspacing="0" align="center">
<form action="?content=/intern/support&neueanfrage=1" method="POST">
<tr>
<td width="30%"><b>
Betreff: </b><br />
<input type="text" name="betreff" size="67" maxlength="255" value=""></td>
</tr>
<tr>
<td><b>
Anfrage: </b><br />
<textarea name="antwort" cols="70" rows="8"></textarea>
</td>
</tr>
</table>
<p align="center">
<input type="submit" class="button" value="Anfrage stellen">
<input type="reset" class="button" value="Zurücksetzen">
</form>
</p></div>
<?
foot();
}
/* Ab hier darf NICHTS (!!!) veraendert werden! */
echo '<font size=1 color="black"><center><b>Powered by <a href="http://www.cash4more.de" target="_blank"><i><b><font color="black">Honni</b></i></a></b></center></font>';
?>
-
Öffne die Datei content/intern/support.php und ersetze folgendes:
PHP-Code:
$support_reload = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_reloads WHERE tan='Supportanfrage' AND uid='".$_SESSION['uid']."'"));
durch diesen Code:
PHP-Code:
$support_reload = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_reloads WHERE tan='Supportanfrage' AND uid='".$_SESSION['uid']."' AND bis >= ".time()));
-
Danke, jetzt funktioniert es.
Aber jetzt bekomme ich keine Mails mehr, wenn eine Anfrage gestellt wird.
-
das stimmt.
plus eine fehler meldung wird angezeigt:
Code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/virtual/domain/htdocs/content/intern/support.php on line 8
Wenn ich:
Code:
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
nach zeile 8 einfüge kommt zeigt er mir das an:
Code:
MySQL-Error: Table '265_vms._support' doesn't exist
Wie kann ich Prob. losen?
-
Habe das Problem gelöst!
Siehe hier:
öffnen (/content/intern/support.php)
suche:
PHP-Code:
function newmail() {
global $betreibermail, $domain, $seitenname;
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
if($rows == 0) {
$text = 'Guten Tag!
ändern in:
PHP-Code:
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
function newmail() {
global $betreibermail, $domain, $seitenname;
if($rows == 0) {
$text = 'Guten Tag!
öffnen (/lib/functions.lib.php)
vor dem letzten ?> folgendes einfügen:
PHP-Code:
@db_connect();
db_query("UPDATE ".$db_prefix."_support SET status = 2 WHERE status = 1 AND time < '".(time()-(5*86400))."'");
@db_close();
Also bei mir funzt jetzt alles, auch die Mail
-
die lösung wäre einfahcer gewesen ... in der support.php nach dem "global" einfach noch "$rows," hinzufügen udn die zeile "db_query(...)" nicht dort so rein, sondenr nur die eine zeile in die header.php nach "db_connect();".
fürs nächste mal ;)
-
@Seby:
Gib ganzes Code dazu...Danke!
-
cool danke, funzt einwandfrei