Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

formular faten empfangen und verarbeiten?

Eingetragen von Anonymous (0)
am 13.06.2006 - 22:58 Uhr in
  • Allgemeines zu Drupal

hi drupal forum,

ich versuch mich grade ein wenig in Drupal bzw. in die drupal Form API rein zu arbeiten. leider schaff ich es nich die abgesendeten Daten zu verarbeiten oder auszugeben. Hier mein Code

<?php
 
  $form
['ort'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Ort'),
   
'#size' => 20,
   
'#maxlength' => 50,
   
'#description' => t('Bitte gebe einen Ort ein!'),
  );
 
 
$form['submit'] = array('#type' => 'submit', '#value' => t('Senden'));
 
 
$output = drupal_get_form('testform', $form);

  print
$output;
 
  print
"<p>Ort: " . $form_values['ort']."<br/>";
?>

Das $form_values['ort'] wird einfach nicht ausgeben. Irgendwie steh ich voll aufm schlauch und weiß einfach nicht was ich falsch mache. Ich mache bestimmt irgendwas falsch! Hat jemand vieleicht einen Tipp für mich?

Danke, Peter

‹ google mag meine seite nicht Java Applet ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Irgendwo wird Dein Formular

Eingetragen von quiptime (4972)
am 14.06.2006 - 07:24 Uhr

Irgendwo wird Dein Formular auf einer Webseite sein und Du kannst dort den Submit klicken. Hast Du Dir mal den HTML-Code, den Dein Drupalformular ausgibt, angesehen?

Poste diesen HTML-Code doch einfach mal.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

hallo quiptime, danke für

Eingetragen von pelack (nicht überprüft) (0)
am 14.06.2006 - 07:54 Uhr

hallo quiptime, danke für deine antwort.

hier der html code :

<form action="/drupal47/?q=node/5"  method="post" id="testform">
<div><div class="form-item">
<label for="edit-ort">Ort:</label>

<input type="text" maxlength="50" name="edit[ort]" id="edit-ort"  size="20" value="" class="form-text" />
<div class="description">Bitte gebe einen Ort ein!</div>
</div>
<input type="submit" name="op" value="Senden"  class="form-submit" />
<input type="hidden" name="edit[form_id]" id="edit-form_id" value="testform"  />

</div></form>

für mich sieht alles korekt aus, aber vieleicht seh ich auch den Wald vor lauter bäumen nicht.

hab auch schon print $_post['edit']['ort']; ausprobiert ohne erfolg. ich kann die eingebenen Formulardaten einfach nicht ausgeben oder verarbeteiten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Aus meiner Sicht ist der

Eingetragen von quiptime (4972)
am 14.06.2006 - 08:52 Uhr

Aus meiner Sicht ist der HTML-Code in Ordnung. Das Formular kann senden.

Was aber die Variable $_post['edit']['ort'] betrifft.

Erstens:

Richtig ist $_POST['edit']['ort']

$_POST ist eine globale PHP-Variable und muss mit großen Buchstaben geschrieben werden.

Zweitens:

Wenn schon, dann ['edit']['ort'] und nicht nur ['edit']. Denn nur ['edit'] sollte Dir nicht den Inhalt des Feldes liefern sondern die Info, daß es ein Array ist.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

Senden von Formulardaten

Eingetragen von md (3717)
am 14.06.2006 - 09:29 Uhr

Die Formulardaten schickst du am besten mit der Funktion:

<?php
function NAMEDEINESMODULS_form_submit($form_id, $form_values) {

//Beispiel schreibt die Daten in eine Tabelle 
 
db_query("INSERT INTO {callback} (firma, title) VALUES ('%s', '%s')",
$form_values['firma'], $form_values['telefon']);

//Zeige eine 'Danke Seite an' 
 
drupal_goto('Danke');
}
?>

Meinolf
-------
http://drupal.mdwp.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen dank für eure

Eingetragen von pelack (nicht überprüft) (0)
am 14.06.2006 - 13:04 Uhr

Vielen dank für eure antworten.

@qiuptime

Leide liefert $_POST['edit']['ort']; kein ergebniss. hast du noch eine andere Idee?

@Meinolf

d.h. das $form_values['firma'] bzw. in meinem Fall $form_values['ort'] einen Wert enhalten müsste, tut es aber nicht (s.o.). liegt es vieleicht daran das ich kein modul entwickle, sondern das formular in eine seite mit php-filter aufrufe?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Modul

Eingetragen von md (3717)
am 14.06.2006 - 13:28 Uhr

Die Form-API ist in erster Linie für die Modulentwicklung gedacht.
Und mein Beispiel-Code auch.
Ich würd auch Formulare nicht über gespasteten PHP-Code entwickeln.
Die Vorgehensweise eignet sich eher für PHP-Snippets in Blöcken.

Meinolf
-------
http://drupal.mdwp.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

naja, noch 'ne Idee?

Eingetragen von quiptime (4972)
am 14.06.2006 - 14:24 Uhr

naja, noch 'ne Idee?

Laut Deines HTML-Formularcode sendet das Formular seine Daten an "/drupal47/?q=node/5".
Wer oder was ist der Empfänger der Formulardaten? $_POST ist zwar global - aber wo willst Du den Inhalt von $_POST['edit']['ort'] verarbeiten?

Noch 'ne Idee.
Manchmal sieht man ja den Wald vor lauter Bäumen nicht.
Gib mal den Codesnipped mit dem Du den Inhalt von $_POST['edit']['ort'] ermitteln willst.

Noch 'ne Idee.
Teste doch mal außerhalb von Drupal, ob auf dem Server $_POST zur Verfügung steht bzw. in einem Formular funktioniert. Eventuell ist es kein Drupalproblem. Was ich aber auch nicht glaube, denn im Drupalcode wird $_POST in vielen Modulen verwendet. Falls es ein generelles Problem mit der Variable $_POST gibt würde ja nichts bei Deiner Drupalsite funktionieren.

PS:
Habe mir eben auf drupal.org diversen Examplecode angesehen. An beliebiger Stelle in irgendwelchen Funktionen wird da $_POST['edit']['mein_name'] verwendet. Sollte also funktionieren.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: naja, noch 'ne Idee?

Eingetragen von pelack (nicht überprüft) (0)
am 14.06.2006 - 14:50 Uhr
quiptime schrieb

naja, noch 'ne Idee?

Laut Deines HTML-Formularcode sendet das Formular seine Daten an "/drupal47/?q=node/5".
Wer oder was ist der Empfänger der Formulardaten?

Das formular ruft sich selber wieder auf.

quiptime schrieb

$_POST ist zwar global - aber wo willst Du den Inhalt von $_POST['edit']['ort'] verarbeiten?

eigentlich soll es eine Zahl sein und soll etwas berechnet werden. Aber zuerstmal benotige ich testweise die eingebene variable.

quiptime schrieb

Noch 'ne Idee.
Manchmal sieht man ja den Wald vor lauter Bäumen nicht.
Gib mal den Codesnipped mit dem Du den Inhalt von $_POST['edit']['ort'] ermitteln willst.

hier der derzeitge code:

<?php
  $form
['ort'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Ort'),
   
'#size' => 20,
   
'#maxlength' => 50,
   
'#description' => t('Bitte gebe einen Ort ein!'),
  );
 
$form['submit'] = array('#type' => 'submit', '#value' => t('Senden'));
 
$output = drupal_get_form('testform', $form);
  print
$output;
  print
"<p>Ort: " . $form_values['ort']."<br/>";
print
"<p>Ort: " . $_POST['edit']['ort']."<br/>";
?>

weder $form_values noch $POST['edit']['ort'] gibt was aus. Ich bin mit meinem latein am ende - evtl. hast du mal lust den code bei dir zu testen?

quiptime schrieb

Noch 'ne Idee.
Teste doch mal außerhalb von Drupal, ob auf dem Server $_POST zur Verfügung steht bzw. in einem Formular funktioniert. Eventuell ist es kein Drupalproblem. Was ich aber auch nicht glaube, denn im Drupalcode wird $_POST in vielen Modulen verwendet. Falls es ein generelles Problem mit der Variable $_POST gibt würde ja nichts bei Deiner Drupalsite funktionieren.

alles funktioniert bestens - sowohl drupal als auch eigene skripte.

quiptime schrieb

PS:
Habe mir eben auf drupal.org diversen Examplecode angesehen. An beliebiger Stelle in irgendwelchen Funktionen wird da $_POST['edit']['mein_name'] verwendet. Sollte also funktionieren.

ich habe so ziemlich alle code beispiele auf drupal.org durchgetestet, komme aber nicht zum richitgen Ergebniss.

Danke für eure hilfe!

  • Anmelden oder Registrieren um Kommentare zu schreiben

@pelak, vor ein paar Tage

Eingetragen von quiptime (4972)
am 14.06.2006 - 15:50 Uhr

@pelak,

vor ein paar Tagen hatte ich beim Testen das gleiche Problem. Ich konnte die Formdaten $_POST['edit']['irgendwas'] nach dem Submit nicht ausgeben.

Da ich für mich das Problem noch nicht klären konnte geht es mir so wie Dir. Es gibt jetzt mehrere Möglichkeiten. Aufgeben, warten auf das ein Wissender diesen Thread liest und sich erbarmt die Lösung zu posten oder es selbst herausbekommen.

Aufgeben kommt für mich nicht in Frage. Warten - naja mal sehen eventuell passiert es ja. Selbst herausbekommen bringt den größten Wissensschub.

Ich weiß nicht wie wichtig Dir dieses Problem ist, wir können hier mit der Problemlösung weitermachen. Hast Du Interesse?

Habe da noch eine Überlegung. Die geht in eine ganz andere Richtung. Und eventuell lacht sich ja bei den folgenden Posts zur Lösung des Problems mit Formdaten $_POST['edit']['irgendwas'] ausgeben ein mitlesender Wissender vor seinem Bildschirm kaputt.

Also @pelak, es ist Dein Thread. Wollen wir weitermachen bis zur Lösung?

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: @pelak,

Eingetragen von pelack (nicht überprüft) (0)
am 14.06.2006 - 16:15 Uhr
quiptime schrieb

@pelak,

vor ein paar Tagen hatte ich beim Testen das gleiche Problem. Ich konnte die Formdaten $_POST['edit']['irgendwas'] nach dem Submit nicht ausgeben.

Da ich für mich das Problem noch nicht klären konnte geht es mir so wie Dir. Es gibt jetzt mehrere Möglichkeiten. Aufgeben, warten auf das ein Wissender diesen Thread liest und sich erbarmt die Lösung zu posten oder es selbst herausbekommen.

es gibt noch eine weitere möchglichkeit: und zwar nach einer alternativ lösung zu suchen. ich habe jetzt das formular innerhalb eines nodes als normales html-formular gebaut und es funktioniert alles bestens.

trotzdem interessiert mich eine lösung auf basis der drupal form-api brennend. ich würde sehr gerne wissen, wo mein/unser denkfehler ist.

darum: hast du (oder jemand anderes) noch ideen dazu?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kurz noch zu meinem

Eingetragen von quiptime (4972)
am 14.06.2006 - 16:25 Uhr

Kurz noch zu meinem erfolglosen Test. Mein Formular befand sich nicht in einem node.

Nun zu meiner Idee.

Kann es sein, daß wenn ein Formular irgendwo platziert wird, Drupal als Sicherheitsfunktion die Daten dieses Formulares nicht verfügbar macht bzw. man nicht ohne Weiteres die Formulardaten verarbeiten kann. Wenn ich nun diesem Gedanken folge müßte man sein irgendwo platziertes Formular sozusagen "bei Drupal registrieren", um berechtigt mit den Formulardaten arbeiten zu können.

-------------
quiptime

  • Anmelden oder Registrieren um Kommentare zu schreiben

Warum nicht als Modul

Eingetragen von md (3717)
am 14.06.2006 - 22:29 Uhr

Ich will ja nicht nerven, aber warum wollt ihr das nicht als Modul umsetzen?
Das ist doch die normale Vorgehensweise.

Meinolf
-------
http://drupal.mdwp.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: Warum nicht als Modul

Eingetragen von pelack (nicht überprüft) (0)
am 14.06.2006 - 22:47 Uhr
Meinolf schrieb

Ich will ja nicht nerven, aber warum wollt ihr das nicht als Modul umsetzen?
Das ist doch die normale Vorgehensweise.

wahrscheinlich hast du recht.

eigenltich möchte ich nur ein formular mit zwei feldern erstellen, dessen werte mitienander multipliziert werden - mehr nicht. ich dachte das könnte man einfach per PHP und der form-api in einem node regeln.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja - und schau dir das mal an

Eingetragen von md (3717)
am 15.06.2006 - 00:03 Uhr

http://drupal.org/node/68159

Meinolf
-------
http://drupal.mdwp.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 6 Tagen 10 Stunden
  • Hey danke
    vor 1 Woche 4 Stunden
  • Update: jetzt gibt's ein
    vor 1 Woche 22 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 5 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 5 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 2 Tagen
  • In der entsprechenden View
    vor 2 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 2 Tagen
  • gelöst
    vor 4 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 5 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 7 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association