HTH-C.com - Forum
Latest News Latest Threads
Neuerung: Persönliche Galerie
Informationen zur Übernahme der Erweite..
HTH Blog - Version 2.0
#HTH.Systems - Betatester gesucht
Neueröffnung - PHPKit-Award.de
HTH Webchat v3
Letzter Beitrag Happy Birthday Bottyline Weiblicher Benutzer Heute, 0:00 Zeit der letzten Antwort
Letzter Beitrag Gibt es eigentlich noch jemand der PHPki.. Dooki Männlicher Benutzer 16.07.2024 - 20:47 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 WEBI Männlicher Benutzer 24.06.2024 - 13:58 Zeit der letzten Antwort
Letzter Beitrag Herzlich Willkommen Botty Männlicher Benutzer 07.06.2024 - 02:42 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 ohne ASCE auf PHP8x Myrddin Männlicher Benutzer 22.03.2023 - 13:36 Zeit der letzten Antwort
 54.227 Posts & 4.945 Themen in 78 Foren
Forenübersicht » Support / Hilfe » PHPKit 1.6.03 & 1.6.1 » Support » Prämien-Anfrage Bearbeitung

Prämien-Anfrage Bearbeitung
13 Beiträge in diesem Thema
 Seiten (1):    1  
24.05.2010 - 11:57 Uhr
Beitrag: #1
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 - 12:10 Uhr
 
Zum Anfang der Seite
24.05.2010 - 12:33 Uhr
Beitrag: #2
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

 Thread moved


 
Zum Anfang der Seite
24.05.2010 - 12:47 Uhr
Beitrag: #3
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

 
Zum Anfang der Seite
24.05.2010 - 13:22 Uhr
Beitrag: #4
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. zwinkern

Überweise mir 50.000 Euro auf mein Schweizer Bankkonto, und die Sache ist gebongt. zwinkern

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

 
Zum Anfang der Seite
24.05.2010 - 14:47 Uhr
Beitrag: #5
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 - 16:23 Uhr
 
Zum Anfang der Seite
25.05.2010 - 00:16 Uhr
Beitrag: #6
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 - 16:51 Uhr
 
Zum Anfang der Seite
25.05.2010 - 08:01 Uhr
Beitrag: #7
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...  Glücklich

 
Zum Anfang der Seite
27.05.2010 - 12:54 Uhr
Beitrag: #8
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

 
Zum Anfang der Seite
27.05.2010 - 19:23 Uhr
Beitrag: #9
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...  Glücklich

 
Zum Anfang der Seite
27.05.2010 - 19:46 Uhr
Beitrag: #10
Der Antragsteller hat z.B. die $USER['id'] = 5. Der IM Empfänger soll ja der Antragsteller und nicht ich sein.

 
Zum Anfang der Seite
27.05.2010 - 19:49 Uhr
Beitrag: #11
dann eben auch die id 5 ist doch das gleiche mit $USER['id']

 
Zum Anfang der Seite
28.05.2010 - 11:13 Uhr
Beitrag: #12
Moin Moin  zwinkern

Sollte ich falsch liegen, haut mich nicht....  Bääääh Evtl. denke ich jetzt auch total falsch weil ich es nicht getestet habe.......

Was bekommst Du hier zurück:



1

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  zwinkern - die Variablen per echo ausgeben. Dann weißt Du auch, was dort drin steht.

Weiter......




1

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:



1
2
3
4
5
6
7

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  zwinkern 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:



1

PHP-Quelltext

WHERE user_id='".$_POST['userid']."'

aus und schreibe:



1

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  zwinkern Bei intval($_POST['.....']) wird sichergestellt, dass auch eine Zahl ankommt. Wird ein Text geschrieben, so wird daraus eine 0 (Null)


Netten Gruß Andy --- Proggi

 
Zum Anfang der Seite
28.05.2010 - 18:30 Uhr
Beitrag: #13
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&auml;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

 
Zum Anfang der Seite
 Seiten (1):    1  

Ähnliche Themen
 
Vorschläge Vorschläge » Prämien kaufen - Letzte Antwort von WEBI am 23.05.08, 12:08 Prämien kaufen  (23.05.08, 12:08)
Neuerungen Neuerungen » Mega Prämien für Sparfüchse - Letzte Antwort von MichaelK am 31.05.08, 03:59 Mega Prämien für Sparfüchse  (31.05.08, 03:59)
Styles Styles » style anfrage - Letzte Antwort von gigammc am 02.05.09, 21:27 style anfrage  (02.05.09, 21:27)
Styles Styles » Style anfrage - Letzte Antwort von Dooki am 22.09.08, 00:29 Style anfrage  (22.09.08, 00:29)
Styles Styles » cop style anfrage - Letzte Antwort von Fidus am 12.05.09, 01:28 cop style anfrage  (12.05.09, 01:28)

HTH-C.com - Webmedien & Community