[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[ERLEDIGT] X-Form als Voting-Tool - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
elricco
Beiträge: 197
Registriert: 22. Jun 2007, 00:48
Wohnort: Bochum
Kontaktdaten: Website

[ERLEDIGT] X-Form als Voting-Tool

29. Aug 2010, 14:14

Hallo alle zusammen,

ich möchte gern ein kleines Formular zum Voten generieren und die Werte in die DB schreiben.

Das klappt auch alles soweit ganz gut, jetzt möchte ich aber, dass die Leute aus der DB geholt werden, die:
1. vor 24 Stunden schon gevotet haben
2. schon für diesen Artikel gevotet haben.

Klappt auch, meine WHERE Abfrage:

Code: Alles auswählen

<?php
$timestamp = time();
$timestamp = $timestamp - 86400;
$theyear = date("Y", $timestamp);
$theday = date("d", $timestamp);
$themonth = date("m", $timestamp);
$thelastday = $theday - 1;
$thetime = date("H:i:s", $timestamp);
$datum = $theyear."-".$themonth."-".$theday." ".$thetime;


$xform->setObjectparams("main_where", "timestamp>'$datum' OR vote='REX_ARTICLE_ID' "); 

?>
Jetzt möchte ich aber nicht, dass die Felder wieder befüllt werden, sondern dass die E-Mail-Adressen miteinander verglichen werden.

Kann mir da mal jemand einen Denkanstoss geben, bitte.
Geht das überhaupt mit X-Form oder sollte ich die SQL-ABfrage evtl vor dem Modul positionieren und dann über ein Variable irgendwie mit compare nutzen?

Grüße Timmy
Zuletzt geändert von elricco am 30. Aug 2010, 10:18, insgesamt 1-mal geändert.

Benutzeravatar
elricco
Beiträge: 197
Registriert: 22. Jun 2007, 00:48
Wohnort: Bochum
Kontaktdaten: Website

30. Aug 2010, 09:22

So php-Funktion im Formular gefunden, meine Formulareingabe sieht jetzt so aus:

[EDIT] War ja auch falsch, ich benötige den PHP-COde ja PRE und POST, also alles wieder in die WHERE-Klausel, sieht jetzt so aus:

Code: Alles auswählen

<?php
$timestamp = time();
$timestamp = $timestamp - 86400;
$theyear = date("Y", $timestamp);
$theday = date("d", $timestamp);
$themonth = date("m", $timestamp);
$thetime = date("H:i:s", $timestamp);
$datum = $theyear."-".$themonth."-".$theday." ".$thetime;

$db_table = "rex_vote";
$sql = new rex_sql;
$sql->setQuery("SELECT * FROM $db_table WHERE timestamp>'$datum' OR vote='52' ");

$emails = array();
for($i=0;$i<$wzsql->getRows();$i++)
{
$mailing = $wzsql->getValue("$db_table.mail");
$emails[] = $mailing;
$wzsql->counter++;
}

if ($_REQUEST["FORM"]["formular"]["formularsend"] == 1 && $_REQUEST["FORM"]["formular"]["el_7"] != '')
{
  if(in_array($_REQUEST["FORM"]["formular"]["el_7"],$emails))
  {
    $xform->setObjectparams("form_type","");
    print "Leider haben Sie schon für diese Bild gevotet oder Sie haben in den letzten 24 Stunden bereits gevotet.";
  }
}
 //print_r($emails);
?>
Jetzt muss ich das Formular NUR noch davon abhalten die Inhalte in die DB zu schreiben, wenn dieser Fall eintritt.

[EDIT] So funktionierts.

Zurück zu „Allgemeines [R4]“