|
|
Latest News |
Latest Threads |
|
 |
55.748 Posts & 4.945 Themen in 78 Foren |
|
|
|
 |
Forensuche |
|
Suchbegriff |
Benutzerauswahl |
Ergebnisse anzeigen |
 |
 |
Prämien-Anfrage Bearbeitung 13 Beiträge in diesem Thema |
|
|
 |
|
 |
24.05.2010 - 10:57 Uhr |
|
|
|
Hallo ihr Lieben,
ich habe mal eine Frage zum Codeteil Prämien des PSP.
Wenn ich das alles richtig verstanden habe läuft dieser Teil wie folgt:
User klickt das Button Prämien an und kann eine Prämie beantragen.
Der Admin kann nun diesen „Antrag“ löschen, oder dem User eine PN schreiben und die Punkte für die Prämie dem User über die edituser.php abziehen.
Nun meine Frage:
Hat schon mal jemand an diesem Teil des PSP etwas verändert?
Die Möglichkeit über die prämien_anfrage.php mit einem Klick die Anfrage sozusagen dem User zu bewilligen. Also Abzug der Punkte in der Spalte Sonstiges und automatische PN an diesen User.
LG
Und einen schönen Pfingstmontag
Kater
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Superkater13439 - 24.05.2010 - 11:10 Uhr |
|
|
|
|
|
|
|
 |
WEBI Unberechenbares Urgestein |
 |
|
|
|
|
|
|
|
|
 |
24.05.2010 - 11:33 Uhr |
|
|
|
Falsches Forum erwischt, oder?! ( 1.6.4 - 1.6.5 )
Möglich ist es, und auf HTH ist es auch überarbeitet worden, jedoch wäre es wohl sinnvoller, und daran dachte ich schon sehr oft, das Teil neu zu schreiben, da das Prämien System doch so einige Fehler hat, ob grössere oder kleinere, im Grunde genommen eher kleinere die jedoch grosses Verzweifeln mit sich führen können.
Allein die Administration der Prämien ist grauenvoll im Standard.. wie gesagt ein komplett neues Prämien / Shop System wäre wohl besser, allerdings stell ich mir da die Frage - für wen? Am Ende für HTH und sollte es zum Download gehen ( was ich bezweifel ) für 3-5 Nutzer der alten Version(en)...
Dir auch einen schönen Pfingstmontag.
mfG
|
|
|
|
|
|
|
 |
|
 |
24.05.2010 - 11:47 Uhr |
|
|
|
Hallo Webi,
danke für die ANtwort.
Falsche Forum? Nööö, bin im Supportforum 4.1 || PHPKit 1.6.03 & 1.6.1 » 4.1.1 || Support
und es geht um die 1.6.1.
Zum Thema Useranzahl. Bei mir sind es incl. Freunde 5 Foren und das Schnitzelchen hat auch großes Interesse, also schon 6. löl
LG
Kater
|
|
|
|
|
|
|
 |
WEBI Unberechenbares Urgestein |
 |
|
|
|
|
|
|
|
|
 |
24.05.2010 - 12:22 Uhr |
|
|
|
Es war im Forum 1.6.4.- 1.6.5 gepostet, deswegen auch die Thread Moved Grafik - da ich den Thread nach meinem Post in das richtige Forum verschoben habe. 
Überweise mir 50.000 Euro auf mein Schweizer Bankkonto, und die Sache ist gebongt. 
Ich kann Dir nicht genau sagen ob ich in nächster Zeit dazu kommen würde, ein derartiges System neu zu schreiben, ich könnte es zum kommenden Wochenende versuchen mich schonmals davor zu setzen, nur versprechen kann ich nichts. Sollte ich es in Angriff nehmen, so werde ich über diesen Thread darüber informieren.
Was nett wäre, sind besondere Wünsche die sich eventuell implementieren ließen, allerdings sollte es auch nicht zu Umfangreich werden. Also teile mir deine Wünsche mit, und ich werde diese eventuell beim Einbau berücksichtigen.
mfG
|
|
|
|
|
|
|
 |
|
 |
24.05.2010 - 13:47 Uhr |
|
|
|
Nee mal im Ernst, du hast natürlich Recht. Ein neues System zu schreiben lohnt sich wirklich nicht.
Ich habe schon einige Fehler bzw. Bugs gefunden und behoben.
Eigentlich bleibt nur das Thema Prämien einlösen übrig.
Edit:
Einfach nur ein zusätzliches Button: Prämienanfrage akzeptieren".
PN wird automatisch versendet und Punkte werden automatisch in die Spalte Abzüge geschrieben.
LG
Kater
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Superkater13439 - 24.05.2010 - 15:23 Uhr |
|
|
|
|
|
|
|
 |
|
 |
24.05.2010 - 23:16 Uhr |
|
|
|
Ich bin schon ein kleines Stück weiter. DIe geänderte prämien_anfrage.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | | PHP-Quelltext <?php
if (adminaccess('user')) {
// *** Punktesystem Pro *** Start ***
if (isset($_POST['action'])) $ACTION=$_POST['action'];
else {$ACTION='view';}
$psp_info = $DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['psp_config'].""));
$keineanfragen="<tr><td colspan=\"4\" class=left width=\"100%\">Zurzeit keine Anfragen</td></tr>";
if ($ACTION==$_POST['delete']) {
$DB->query("UPDATE ".$db_tab['user']." SET psp_premie_id='0' WHERE user_id='".$_POST['userid']."'");
}
if ($ACTION==$_POST['genehmigen']) {
$id=$DB->fetch_array($DB->query("SELECT psp_premie_id FROM ".$db_tab['user']." WHERE user_id='".$_POST['userid']."'"));
$premie_info=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['psp_premien']." WHERE psp_premie_id='".$_POST['userid']."'"));
$im_title='Deine Premienanfrage '.$premie_info['psp_premie_titel'];
eval ("\$im_text= \"".getTemplate("psp/premie_im_genehmigt")."\";");
notifyim('premie',$im_title,$im_text);
$DB->query("INSERT INTO ".$db_tab['im']." (im_to, im_title, im_autor, im_text, im_time) VALUES
('$id' , '$im_titel' , '0' , '$im_text' , '".time()."' , '1')");
}
$getuser=$DB->query("SELECT * FROM ".$db_tab['user']."");
while($userinfo=$DB->fetch_array($getuser)) {
if ($userinfo['psp_premie_id']!='0') {
$premieinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['psp_premien']." WHERE psp_premie_id='".$userinfo['psp_premie_id']."' "));
$keineanfragen="";
eval ("\$premien_anfragen_row.= \"".getTemplate("psp/premien_anfragen_row")."\";");
}
}
eval ("\$site_body.= \"".templateinclude("psp/kopf")."\";");
eval ("\$site_body.= \"".getTemplate("psp/premien_anfragen")."\";");
// *** Punktesystem Pro *** Ende ***
}
else {header ("location: admin.php"); exit();}
?> | |  |
Die prämien_anfrage.htm:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | | Quellcode <!-- *** Punktesystem Pro *** Start *** -->
<form name="premie" method="post" action="admin.php?path=psp/premien_anfragen.php">
<tr>
<td class=left width="32%">
<a href="admin.php?path=edituser.php&editid=$userinfo[user_id]">$userinfo[user_name]</a>
</td>
<td class=left width="32%">
$premieinfo[psp_premie_titel]
</td>
<td class=left width="32%">
$premieinfo[psp_premie_punkte] $psp_info[psp_waehrung]
</td>
<td class=left width="2%">
<input type="hidden" size="0" name="userid" value="$userinfo[user_id]" />
<input type="submit" name="action" value="$lang[delete]" class="michasBTN2" />
<input type="hidden" name="delete" value="$lang[delete]" />
</td>
<td class=left width="2%">
<input type="hidden" size="0" name="userid" value="$userinfo[user_id]" />
<input type="submit" name="action" value="genehmigen" class="michasBTN2" />
<input type="hidden" name="genehmigen" value="genehmigen" />
</td>
</tr>
</form>
<!-- *** Punktesystem Pro *** Ende *** --> | |  |
Leider kommt die Mail nicht bei dem Prämien-Antragsteller sondern bei mir an.
Die Variable $id gibt was falsches aus.
Könnte da mal bitte einer drüber schauen?
Das Speichern der Punkte in der Spalte psp-abzüge bekomme ich dann wieder selbst hin, denke ich.
LG
Kater
|
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Superkater13439 - 26.05.2010 - 15:51 Uhr |
|
|
|
|
|
|
|
 |
|
 |
25.05.2010 - 07:01 Uhr |
|
|
|
ich habe ja auch schon vor geraumer zeit das frontend umgebaut.
optisch sowie funktionell.
zum einen kann ich logo auswählen für die prämie, zum anderen kann man nur prämien anfordnern, welche weniger kosten, als man selbst punkte hat.
im acp wollte ich schon ewig was machen bzw neu schreiben, jedoch hatte ich bissher noch kein wirkliches intresse, da das prämiensystem weniger genutzt wird, als es arbeit verursachen würde... 
|
|
|
|
|
|
|
 |
|
 |
27.05.2010 - 11:54 Uhr |
|
|
|
Hallo Männer,
nun seit mal nicht so hart zu einem alten Kater und lasst mich nicht hängen.
Ich habe nun schon unzählige Versuche hinter mir.
Mein Code von Zeil 15 bis 24 bringt nur eine PN mit der Null als ID für den Sender und für den Empänger, dadurch bekomme ich mit der ID 1 diese PN selbst.
Meinen Code innerhalb der While-Schleife zu setzen bringt höchsten PN's in der Größenordnung der Gesamtanzahl aller User. (Hatte ich auch schon 1 mal hinter mir. *werdrot*)
Die User ID bzw. der User Name des "Antragstellers" wird ja weiter unten ausgelesen,
also müsste ich eine neue Abfrage mit LIMIT 1 incl. einer While-Schleife vor meinen Cod setzen, oder????
Aber warum funktioniert die Löschfunktion mit der Variablen $_POST['userid'] ohne extra DB Abfrage und meiner nicht?
Ihr seht meine Gedanken sind etwas wirr.
LG
Kater
|
|
|
|
|
|
|
 |
|
 |
27.05.2010 - 18:23 Uhr |
|
|
|
alos die id des antragsteller gibste kurz und knapp mit $USER['id'] aus. ohne abfrage oder dergleichen. als empfänger setz du dann nur noch die ID 1 fest. ohne drum drum... 
|
|
|
|
|
|
|
 |
|
 |
27.05.2010 - 18:46 Uhr |
|
|
|
Der Antragsteller hat z.B. die $USER['id'] = 5. Der IM Empfänger soll ja der Antragsteller und nicht ich sein.
|
|
|
|
|
|
|
 |
|
 |
27.05.2010 - 18:49 Uhr |
|
|
|
dann eben auch die id 5 ist doch das gleiche mit $USER['id']
|
|
|
|
|
|
|
 |
|
 |
28.05.2010 - 10:13 Uhr |
|
|
|
Moin Moin 
Sollte ich falsch liegen, haut mich nicht.... Evtl. denke ich jetzt auch total falsch weil ich es nicht getestet habe.......
Was bekommst Du hier zurück:
| PHP-Quelltext $id=$DB->fetch_array($DB->query("SELECT psp_premie_id FROM ".$db_tab['user']." WHERE user_id='".$_POST['userid']."'")); | |
Richtig ---> ein Array
Lasse Dir doch mal - wie schon oft gesagt - die Variablen per echo ausgeben. Dann weißt Du auch, was dort drin steht.
Weiter......
| PHP-Quelltext $DB->query("INSERT INTO ".$db_tab['im']." (im_to, im_title, im_autor, im_text, im_time) VALUES ('$id' , '$im_titel' , '0' , '$im_text' , '".time()."' , '1')"); | |
'$id', '$im_titel',......
Was wird denn z.B. als im_titel geseichert? Normalerweise dieses: $im_titel und nicht der Inhalt der Variablen.
Also muss das so lauten: '".$id."', '".$im_titel."',......
Kleines Beispiel zur Übung:
| PHP-Quelltext <?php
$test = 'Mein kleiner Test';
echo 'Ausgabe 1:<br />In der Variablen $test steht $test<br />';
echo "Ausgabe 2:<br />In der Variablen ".'$test'." steht $test<br />";
echo "Ausgabe 3:<br />In der Variablen $test steht $test<br />";
echo 'Ausgabe 4:<br />In der Variablen $test steht '.$test.'<br />';
?> | |
Bitte auf die einfachen und doppelten Anführungszeichen achten Das sind in der Programmierung riesige Unterschiede und eine häufige Fehlerquelle!
Jetzt haben wir aber immer noch einen Fehler drin......
$id ist ja - wie oben bereits geschrieben - ein Array......
Also musst Du auf den Array-Index zugreifen. In diesem Falle $id['psp_premie_id'] - vorausgesetzt die Spalte psp_premie_id speichert auch tatsächlich die entsprechende UserID.
Und wenn wir schon dabei sind:
Bessere bitte diese Dinge:
| PHP-Quelltext WHERE user_id='".$_POST['userid']."' | |
aus und schreibe:
| PHP-Quelltext WHERE user_id='".intval($_POST['userid'])."' | |
Bei $_POST['....'] handelt es sich um Daten, die gesendet werden. Diese Daten gehören grundstzlich geprüft Bei intval($_POST['.....']) wird sichergestellt, dass auch eine Zahl ankommt. Wird ein Text geschrieben, so wird daraus eine 0 (Null)
Netten Gruß Andy --- Proggi
|
|
|
|
|
|
|
 |
|
 |
28.05.2010 - 17:30 Uhr |
|
|
|
Hallo ihr Lieben,
vielen Dank für eure Hife.
An dem bischen Code (Zeile 15 bis 42) habe ich nun fast eine Woche gesessen.
Für den Rest 10 Minuten.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | | PHP-Quelltext <?php
if (adminaccess('user')) {
// *** Punktesystem Pro *** Start ***
if (isset($_POST['action'])) $ACTION=$_POST['action'];
else {$ACTION='view';}
$psp_info = $DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['psp_config'].""));
$keineanfragen="<tr><td colspan=\"4\" class=left width=\"100%\">Zurzeit keine Anfragen</td></tr>";
if ($ACTION==$_POST['delete']) {
$DB->query("UPDATE ".$db_tab['user']." SET psp_premie_id='0' WHERE user_id='".intval($_POST['userid'])."' ");
}
if ($ACTION==$_POST['genehmigen']) {
$id=$DB->fetch_array($DB->query("SELECT
user_id,
psp_premie_id
FROM
".$sqlprefix."_user
WHERE
user_id='".intval($_POST['userid'])."' "));
$premie_info=$DB->fetch_array($DB->query("SELECT
psp_premie_titel,
psp_premie_punkte
FrOM ".$sqlprefix."_psp_premien
WHERE
psp_premie_id='".$id['psp_premie_id']."' "));
$im_title='Deine Premienanfrage zur Prämie: '.$premie_info['psp_premie_titel'];
eval ("\$im_text= \"".getTemplate("psp/premie_im_genehmigt")."\";");
$DB->query("INSERT INTO
".$sqlprefix."_im
(im_to, im_title, im_autor, im_text, im_time)
VALUES
('".$id['user_id']."' ,
'".$im_title."' ,
'0' ,
'".$im_text."' ,
'".time()."')");
$DB->query("UPDATE
".$sqlprefix."_user
SET
psp_abzuege=psp_abzuege+'".$premie_info['psp_premie_punkte']."',
psp_premie_id='0'
WHERE
user_id='".$id['user_id']."' ");
}
$getuser=$DB->query("SELECT * FROM ".$db_tab['user']."");
while($userinfo=$DB->fetch_array($getuser)) {
if ($userinfo['psp_premie_id']!='0') {
$premieinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['psp_premien']." WHERE psp_premie_id='".$userinfo['psp_premie_id']."' "));
$keineanfragen="";
eval ("\$premien_anfragen_row.= \"".getTemplate("psp/premien_anfragen_row")."\";");
}
}
eval ("\$site_body.= \"".templateinclude("psp/kopf")."\";");
eval ("\$site_body.= \"".getTemplate("psp/premien_anfragen")."\";");
// *** Punktesystem Pro *** Ende ***
}
else {header ("location: admin.php"); exit();}
?> | |  |
THX
Kater der php Anfänger
|
|
|
|
|
|
|
 |
|
|
 |
Ähnliche Themen |
|
|
|
|
|
|
|
|