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

[doch nicht mehr gelöst] PHP und HTML in dem selben Artikel

Eingetragen von Igniting (49)
am 04.12.2012 - 11:00 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x

Guten morgen allerseits!

Ich arbeite zur Zeit für Mein Diplomprojekt mit Drupal und steh momentan bei einem Problem an.
Ich versuche Daten die auf der Website eingegeben werden in eine MySQL Datenbank zu schreiben.
Das Problem ist daher folgendes:
Ich verwende HTML um die Felder zu erstellen, in denen der User die Daten eingibt, jedoch benötige ich PHP um die Daten in die Datenbank zu schreiben.
Und Das funktioniert nicht.
Ich will einfach das wenn der Button gedrückt wird die Daten dann in der Datenbank stehen.
Der Code ist folgender, wenn ich ihn außerhalb von Drupal verwende funktioniert er auch soweit

<html>
<head>
    <title>Datenbanktest_Html</title>
</head>
<body>
<form action="Datenbanktest_Php.php" method="post"/>
Anrede: <input type="text" name="anrede" /> <br />
Vorname: <input type="text" name="vorname" /> <br />
Nachname: <input type="text" name="nachname" />  <br />
Straße: <input type="text" name="strasse" />   <br />
PLZ: <input type="int" name="plz" />   <br />
Wohnort: <input type="text" name="wohnort" /> <br />
Fon: <input type="int" name="fon" />    <br />
Fax: <input type="int" name="fax" />  <br />
E-Mail: <input type="text" name="email" />   <br />

<input type="submit" value="In die Datenbank!" />

</form>


</body>
</html>

<?php
//Datenbankverbindung
$mysqlhost="localhost"; // MySQL-Host angeben
$mysqluser="root"; // MySQL-User angeben
$mysqlpwd=""; // Passwort angeben
$mysqldb="test"; // Gewuenschte Datenbank angeben

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
(
"Verbindungsversuch fehlgeschlagen");


mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen."
);
//Datenbankverbinung Ende

$anrede = $_POST["anrede"];
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$strasse = $_POST["strasse"];
$plz = $_POST["plz"];
$wohnort = $_POST["wohnort"];
$fon = $_POST["fon"];
$fax = $_POST["fax"];
$email = $_POST["email"];

$eintrag = "INSERT INTO adressen
(anrede,vorname,nachname,strasse,plz,wohnort,fon,fax,email)
VALUES
('
$anrede','$vorname','$nachname','$strasse','$plz','$wohnort','$fon','$fax','$email')";

$eintrag = mysql_query($eintrag);



//Verbindung zum Server trennen
mysql_close($connection);
?>

Könnt ihr mir sagen wo der Fehler liegt?
Wir haben uns auch schon überlegt das mit einem iFrame zu lösen, da kennen wir uns aber nicht gut genug aus. Würde das etwas bringen?

Vielen Dank schonmal für alle Antworten!

mfg Igniting

‹ Umzug - Pfade anpassen [gelöst] MySQL: Migration ausgewählter Tabellen-Inhalte für Relaunch ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hast du den das Eingabeformat

Eingetragen von phasenkasper (nicht überprüft) (0)
am 04.12.2012 - 11:11 Uhr

Hast du den das Eingabeformat php in drupal aktiviert?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oder du machst die Eingabe

Eingetragen von phasenkasper (nicht überprüft) (0)
am 04.12.2012 - 11:16 Uhr

Oder du machst die Eingabe mit dem Modul webform.
http://drupal.org/project/webform

  • Anmelden oder Registrieren um Kommentare zu schreiben

phasenkasper schrieb Hast du

Eingetragen von Igniting (49)
am 04.12.2012 - 11:28 Uhr
phasenkasper schrieb

Hast du den das Eingabeformat php in drupal aktiviert?

Habr ich gemacht

phasenkasper schrieb

Oder du machst die Eingabe mit dem Modul webform.
http://drupal.org/project/webform

Ich schaue mir gerade das Modul Webform an, würde aber gerne wissen, ob man damit auch diese Daten dann in eine Tabelle speichern kann?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Daten von webform werden

Eingetragen von phasenkasper (nicht überprüft) (0)
am 04.12.2012 - 11:39 Uhr

Die Daten von webform werden in irgendeiner Tabelle in der Datenbank gespeichert. Einfach mal über phpmyadmin suchen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Igniting schrieb Ich schaue

Eingetragen von E-Fee (481)
am 04.12.2012 - 11:40 Uhr
Igniting schrieb

Ich schaue mir gerade das Modul Webform an, würde aber gerne wissen, ob man damit auch diese Daten dann in eine Tabelle speichern kann?

Jo, kann man, macht das Modul sogar automatisch.

Wir setzen derzeit recht häufig Webforms z.B. im Rahmen von Gewinnspielen ein. Wenn das Gewinnspiel beendet ist, können wir das Formular an sich deaktivieren, ohne die dazugehörigen Nodes zu ändern oder auf unveröffentlicht zu stellen.
Und der Clou: einen Export z.B. für Excel stellt das Modul auch gleich bereit. Besser geht's also kaum.

Tipp am Rande: die Anrede würde ich als Select List oder Radio Buttons realisieren. Das hat den Vorteil, dass Du vorgegebene Werte hast, nach denen Du z.B. filtern kannst. Sonst hast Du da statt "Frau" auf einmal "faru" stehen, oder so ähnlich. Das muss echt nicht sein.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank!

Eingetragen von Igniting (49)
am 04.12.2012 - 11:47 Uhr
E-Fee schrieb
Igniting schrieb

Ich schaue mir gerade das Modul Webform an, würde aber gerne wissen, ob man damit auch diese Daten dann in eine Tabelle speichern kann?

Jo, kann man, macht das Modul sogar automatisch.

Wir setzen derzeit recht häufig Webforms z.B. im Rahmen von Gewinnspielen ein. Wenn das Gewinnspiel beendet ist, können wir das Formular an sich deaktivieren, ohne die dazugehörigen Nodes zu ändern oder auf unveröffentlicht zu stellen.
Und der Clou: einen Export z.B. für Excel stellt das Modul auch gleich bereit. Besser geht's also kaum.

Tipp am Rande: die Anrede würde ich als Select List oder Radio Buttons realisieren. Das hat den Vorteil, dass Du vorgegebene Werte hast, nach denen Du z.B. filtern kannst. Sonst hast Du da statt "Frau" auf einmal "faru" stehen, oder so ähnlich. Das muss echt nicht sein.

phasenkasper schrieb

Die Daten von webform werden in irgendeiner Tabelle in der Datenbank gespeichert. Einfach mal über phpmyadmin suchen.

Vielen Dank, das hat uns sehr Weitergeholfen!
Wir Versuchen es jetzt mit Webform, und hoffen das jetzt Alles passt.
Aber wenns wieder fragen gibt schauen wir wieder hier vorbei :D

mfg Igniting

  • Anmelden oder Registrieren um Kommentare zu schreiben

Doch noch eine Frage

Eingetragen von Igniting (49)
am 04.12.2012 - 12:42 Uhr

Ok, haben doch noch eine kleine Frage gefunden.
Kann man die Tabelle ändern in der die Daten geschrieben werden?
Oder ist das immer die fix eingestellte webform_submittet_data?

danke schonmal im Voraus?

mfg Igniting Ideas

  • Anmelden oder Registrieren um Kommentare zu schreiben

Man kann das sicherlich

Eingetragen von E-Fee (481)
am 04.12.2012 - 14:22 Uhr

Man kann das sicherlich händisch irgendwie umprogrammieren.

Frage wäre halt, was Du damit überhaupt machen, wie Du die Daten weiterverarbeiten willst. Die exportierten Daten (z.B. CSV) kannst Du ja auch wieder in eine externe Datenbank außerhalb von Drupal importieren. Ist vermutlich der unkompliziertere Weg, gerade wenn es sich um ein einmaliges Projekt handelt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Naja ich benutze Drupal für

Eingetragen von Igniting (49)
am 10.12.2012 - 14:50 Uhr

Naja ich benutze Drupal für meine Facharbeit und ich sollte die Daten, die man durch Webform bekommt, in die Tabellen speichern, wie sie in meinem Klassendiagramm vorgesehen sind. Die Daten werden später mit verschiedenen MySql-Abfragen weiterverarbeitet.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Warum setzt Du das Ganze

Eingetragen von Sense (1559)
am 10.12.2012 - 16:28 Uhr

Warum setzt Du das Ganze nicht dann als Custom Modul um? Du wirst für die Facharbeit sicherlich auch den Code beschreiben müssen. Die Form-API von Drupal ist ziemlich stark und die Daten können mit drupal_write_record() sehr einfach in die Datenbank geschrieben werden. Hierfür musst Du keine Input-Felder in HTML anlegen, wie im ersten Post, auch der ganze mysql_query Kram ist sinnfrei. Drupal erledigt das alles direkt für dich.

Zudem ist dein Code oben noch offen wie ein Scheunentor, die Datenbank könnte man in Sekunden hacken -> SQL-Injection

Ich hab vor einiger Zeit mal ein entsprechendes Tutorial zu diesem Thema verfasst:
http://www.sense-design.de/tutorial/drupal-formular-datenbank-speichern

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für deine schnelle

Eingetragen von Igniting (49)
am 10.12.2012 - 16:37 Uhr

Danke für deine schnelle Antwort Sense.
Ich werde werde mir dein Tutorial anschauen und deinen Rat befolgen, da es wahrscheinlich am Sinnvollsten ist, wenn ich mir wirklich ein eigernen Modul mache.^^

  • Anmelden oder Registrieren um Kommentare zu schreiben

Und vergiss den Quatsch den

Eingetragen von Sense (1559)
am 10.12.2012 - 16:42 Uhr

Und vergiss den Quatsch den Du oben gepostet hast! Das hat nix mit Drupal zu tun ... sondern führt vollkommen daran vorbei, da Du keine Funktionalität des Drupal Core verwendest.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Gut eine kleine Frage habe

Eingetragen von Igniting (49)
am 11.12.2012 - 11:44 Uhr

Gut eine kleine Frage habe ich noch und zwar:
Wohin wird die Tabelle gespeichert, welche ich in der .install Datei mit hook_install() implementiere?

  • Anmelden oder Registrieren um Kommentare zu schreiben

$schema['example'], die

Eingetragen von Sense (1559)
am 11.12.2012 - 12:22 Uhr

$schema['example'], die Tabelle heisst dann "example", ist ja alles nur ein Beispielcode, den du deinen Anforderungen entsprechend anpassen und umbenennen musst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja das ist mir schon klar,

Eingetragen von Igniting (49)
am 11.12.2012 - 12:39 Uhr

Ja das ist mir schon klar, jedoch finde meine erstellte Tablle nicht

<?php
/**
* Implements hook_schema().
*/
function beton_schema() {
  $schema['beton'] = array(
    'fields' => array(
      'id'    => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
      'name'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'phone' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'mail'  => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
    ),
    'primary key' => array('id'),
  );

  return $schema;
}

Nun müsste ja die Tabelle beton erstellt werden, wenn ich das Modul in Drupal aktiviere, jedoch erscheint diese nicht.
Ich habe mir auch einige Tutorials angeschaut, aber mein Fehler ist mir trotzdem unklar.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du hast auch alle Dateinamen

Eingetragen von Sense (1559)
am 11.12.2012 - 12:44 Uhr

Du hast auch alle Dateinamen und Funktionen mit "beton_" versehen?

  • 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 2 Wochen 5 Stunden
  • Hey danke
    vor 2 Wochen 23 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 2 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 21 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