Seite 1 von 1
Bewertung in Portal abgeben[doch nicht erledigt]
Verfasst: 09.11.2006 12:57
von QO
Hi
Ich will mir einen Wettbewertungsblock machen. Leider weiss ich nicht wie ich das mit dem Bewerten machen soll, also die übergabe der Bewertung vonm tpl zu php. Andere Mods und Vorbilder haben mir nicht viel helfen können.
Es handelt sich um einen Block für IM-Portal. Soweit habe ich es geschaft, das alle Bilder einer Kategorie aufgelistet werden
Beispielseite
album_wettbewerb_block.txt (tpl)
blocks_imp_album_wettbewerb.txt (php)
In der tpl könnte ich folgendes z.B. einfügen
Code: Alles auswählen
<input type="hidden" name="bewertung" value="">
<select name="type">
<option value="g">{GUT}</option>
<option value="n">{NAJA}</option>
<option value="s">{SCHLECHT}</option>
</select> <input type="submit" value="Bewertung abgeben" class="liteoption" />
Das sollte dann an einen bestimmten (abhängig von g,n,s) Wert in die Rating-Tabelle vom Photoalbum einfügen. Der SQL-befehl ist kein Problem, aber wie bekomme ich es zum ausführen im Block, also die übergabe des Wertes und wo müsste ich es in der php-blockdatei einfügen?.
Man soll also jedes Bild einzeln bewerten können
Danke i.v.
Verfasst: 09.11.2006 22:31
von QO
Abend
Also ich hab noch etwas herumgebastelt, damit ihr vielleicht etwas besser helfen könnt...
Mein Wettbewerbsblock ist überarbeitet und das Speichern/umsetzten der Daten wird jetzt in einer eigenen Datei ausgeführt.
Hier ist die Beispielseite, die die Bewertungen weiterleitet : Beispielseite
Die Blockdateien als txt ( welche jetzt "uninteresant" sind, da die speicherung extern geschieht):
album_wettbewerb_block.txt (tpl)
blocks_imp_album_wettbewerb.txt (php)
Es wird also jetzt eine datei "wettbewerb.php" aufgerufen und die wahlergebnisse übermittelt. Das sieht dann so aus:
wettbewerb.php?20=g&18=n&submitted=Go (
die 20 und 18 ist die ID des Bild und g u. n steht für die wahl...)
Mein Problem jetzt ist, dass ich nicht weiss wie ich diese information auslese (ID, Ergebniss)
Wettbewerb.php
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
global $template, $phpbb_root_path, $phpEx, $db, $board_config, $lang, $portal_config, $userdata;
$rate_user_id = $userdata['user_id'];
$rate_user_ip = $userdata['session_ip'];
$rate_pic_id = ???????????????????????????????????????????????????????????;
if (????????? == g)
{
$rate_point = 3;
}
else if (????????? == n)
{
$rate_point = 1;
}
else
{
$rate_point = 0;
}
$sql = "INSERT INTO ". ALBUM_RATE_TABLE ." (rate_pic_id, rate_user_id, rate_user_ip, rate_point)
VALUES ('$pic_id', '$rate_user_id', '$rate_user_ip', '$rate_point')";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not insert new rating', '', __LINE__, __FILE__, $sql);
}
?>
Was muss bei ???????? hin und was fehlt noch vorn/hinter dem hauptteil zur auslese der übermittelten Daten?
QO
Verfasst: 10.11.2006 01:14
von QO
Sry wenn ich schonwieder hier poste. Ich hab vielleicht die lösung, aber auch ein Problem mit "Hacking Attempt"
Sobald man eine Bewertung abgeben will, gibts die Meldung "Hacking Attempt"
Beispielseite
Mit der suche hab ich etwas mit
define('IN_PHPBB',true); gefunden. Wenn ich dieses oder die if-variante versuche einzusetzten, bleibt die Meldung. Wie löst man es?
Verfasst: 11.11.2006 14:19
von QO
Hi
Leider hab ich das Problem mit dem "Hacking attempt" nicht lösen können. Hat keiner eine Idee woran es liegen könnte bzw was ich noch versuchen kann?
Verfasst: 11.11.2006 16:47
von Miriam
Wo (also welche Datei) zeigt denn das hacking attempt an?
Verfasst: 11.11.2006 16:58
von QO
Hi
Alle Dateien die von dem Block beim absenden geöffnet werden bringen den Fehler. Ich hatte auch schon versucht nach index.php bzw. portal weiterzuleiten, alles über <form action="... aber es ging nicht
Ein normaler href-link funktioniert.
Achso, mir ist vorhin aufgefallen, dass die Absendefunktion für nichteingelogged ausgeblendet war

Habs zum testen geändert...
Hier nochmal für euch zum Probieren
http://www.eiskuh.pro-scripting.de/Foru ... php?page=8
Verfasst: 11.11.2006 17:18
von Miriam
QO hat geschrieben:Ein normaler href-link funktioniert.
Das sollte es auch, denn die Datei, die den Link bereitstellt hat die Servervariable
IN_PHPBB auf true gesetzt. Somit ist sie für die, durch den Link aufgerufene Datei, auch true.
Daher wird die Abfrage:
Code: Alles auswählen
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}
In der verlinkten Datei auch nicht ausgeführt.
Bei Dir aber schon.
Da hilft nur eins: Du musst in der Datei, die die anderen Dateien aufruft und das Problem
hacking attempt generiert, mit diesem Code (am besten [fast] ganz oben) "aufrüsten" -->
Aber Achtung! Die Datei könnte evtl. von "aussen" her aufgerufen werden und bösen Menschen Tür und Tor öffnen. ---> Daher solltest Du alle Variablen einen Startwert geben. Vor allem der allseits beliebten
$phpbb_root_path. (Immer wieder gern für Hackerangriffe genommen.)

Verfasst: 11.11.2006 19:02
von QO
Hi Miriam
Ich hatte geglaub alle 15 define Kombinationen versucht zu haben, scheinbar doch nicht... Danke auch für deine Tipps. Jetzt kann ich weiter arbeiten.
Naja, wenns Fertig ist gibts gibts einen neuen IM-Portal Block der leicht anpassbar ist für andere die Wettbewerbe machen und Photoalbum nutzen..
Nochmals Danke
Verfasst: 09.12.2006 15:34
von QO
Hi
Also mein Problem mit "Hacking Attempt" ist wieder da, seitdem unser Board auf einem Anderen Server ist.
Hier mal die Dateien (als txt)
wettbewerb.php
block_imp_album_wettbewerb.php
album_wettbewerb_block.tpl
Die Datei block_imp_album.php ist der Block, der in der portal.php aufgerufen wird und dem user die Wahloptionen zum Absenden gibt.
Beim Absenden wird die wettbewerb.php aufgerufen und die ergebnisse des user werden dorthin übermittelt und sollten verarbeitet werden. Leider kommt beim öffnen dieser datei gleich die Fehlermeldung "Hacking Attemp"
Warum hats beim vorherigen Server funktioniert und jetzt nicht? Was hab ich falsch gemacht?
HILFE!!!
