Tutorials von Thomas Frei-Herrmann

[Start] [MySQL] [Connector] [Iterator] [Navigator] [Beschriftung] [Datum] [Bild] [Link] [IF] [Hinzugefügt] [Hinzufügen] [Geändert] [Ändern] [Gelöscht] [Löschen] [Mail] [Suchen] [Ergebnis]
[Drucken]

Datenbank NOF-PHP

Drucken von Datensätzen
und als Mail versenden


Um Datensätze zu drucken, verwendet Ihr eine ganz ähnliche Prozedur wie beim Ändern. Bitte guckt also auch dort, denn ich verwende für die Erkennung des zu druckenden Datensatzes die entsprechende ID.

Zunächst fügt Ihr zum Drucken eines Datensatzes ein Link-Objekt auf der anzuzeigenden Seite ein und wählt die Datensatzgruppe dieser Seite.

Bei der URL gebt Ihr die Seite an (hier drucken.php), von der aus der Datensatz ausgedruckt werden soll. Befindet sich diese Seite im gleichen Verzeichnis (z.B. html) wie die anzeigende Seite, dann braucht Ihr natürlich nicht diese relative Pfadangabe wie im Foto zu erkennen, sondern lediglich

drucken.php?ID=

hin schreiben, da sich die Seite im gleichen Verzeichnis befindet.

Ihr erstellt Euch eine neue Seite, auf der Ihr natürlich wieder den “Connector” einfügen müsst. Ich habe hier lediglich eine Tabelle aufgezogen und für jedes Feld ein Objekt “Beschriftung” eingefügt sowie ein kleines Drucker-Symbol zum Ausdrucken dieser Seite, die ich auf “Zero-Margins” gestellt habe.

Ich habe jedem meiner Datenbank-Felder, die ich drucken möchte, eine Objekt Beschriftung entsprechend dem Datenfeld zugeordnet. Als Datensatzgruppe habe ich meine bereits vorhandene Datensatzgruppe “mitgliedaendern” gewählt, die auf “ID ist gleich URL.ID” eingestellt ist, um eben den jeweils gewählten oder auch mittels der Suche gefundenen Datensatz darzustellen.

 

nach oben

Daten als e-Mail versenden

Ich habe hier noch die Möglichkeit geschaffen, die dargestellten Daten via e-Mail zu versenden.

Dazu habe ich zunächst ein ganz normales Eingabefeld der Formular-Werkzeuge, hier mit dem Namen
E-Mail”, der im Mail-Skript verwendet wird, sowie den “Senden” Button erstellt.

Weiterhin habe ich eine neue Seite (Masterrahmeneinstellung “Zero-Margins”) mit dem Namen “scriptsenden.php” erstellt, in der ich das eigentliche Mail-Skript eingebaut habe.

Als Methode “Verschicken” gewählt und noch ein verdecktes Feld “action” hinzugefügt mit dem Wert “send”, um im Mail-Skript zu prüfen, ob die Schaltfläche “Senden” überhaupt geklickt wurde.

Jetzt muss ich die Feld-Inhalte meiner Datenbank an mein Mail-Skript auf der Seite “scriptsenden.php” mittels “SESSION-Variablen” übergeben.

Dazu ist es notwendig eine SESSION zu starten, damit diese Variablen auf der Seite “scriptsenden.php” noch erkannt werden können. Um eine SESSION zu starten, muss dieser Befehl ganz oben auf einer Seite stehen. Ich habe also den Code (unten) ganz oben in meine Seite “drucken.php” in die Layout-HTML geschrieben.

> Fenster “Layout-Eigenschaften” > Button “HTML” > Code “Beginn der Seite” einfügen

<?php
   @session_start();
?>

Im Bild oben erkennt man auch im unteren Formular ein Textfeld, in dem ich den Code (unten) in die HTML eingefügt habe. Ich gründe also hier die “SESSION” Variablen aus den Feldinhalten meiner Datenbank nachdem diese bereits aus der Datenbank ausgelesen wurden.

<?php

   $_SESSION['mvorname']   = $mitgliedaendern->fields["Vorname"];
   $_SESSION['mname']      = $mitgliedaendern->fields["Name"];
   $_SESSION['mstrasse']   = $mitgliedaendern->fields["Strasse"];
   $_SESSION['mort']       = $mitgliedaendern->fields["Ort"];
   $_SESSION['mland']      = $mitgliedaendern->fields["Land"];
   $_SESSION['mtelefon']   = $mitgliedaendern->fields["Telefon"];
   $_SESSION['mmail']      = $mitgliedaendern->fields["Mail"];
   $_SESSION['mhomepage']  = $mitgliedaendern->fields["Homepage"];
   $_SESSION['mkommentar'] = $mitgliedaendern->fields["Kommentar"];
   $_SESSION['mfoto']      = $mitgliedaendern->fields["foto"];

?>

Durch den Klick auf den “Senden” Button wird nun weiter verzweigt auf meine Seite “scriptsenden.php”,   die ja nur eine leere Seite ist, in der ich dann mein eigentliches Mail-Skript, wieder in die Layout-HTML am “Beginn der Seite”, eingefügt habe. Diese Seite wird also gar nicht dargestellt, sondern lediglich zum Verarbeiten dieses Skriptes verwendet. Bitte passt noch die blau markierten Daten an.

<?php


   @session_start();

   if (isset($_POST['action']) && ($_POST['action']=='send')) {

      // Variablen für Administrator-Mail sowie Datum und Zeit gründen
      // e-Mail vom Administrator
      $admin = 'Absender@DeineDoamin.de';

      // BEGINN Betreff-Zeile an Empfänger
      $subject1 = "Datenbank-Ausgabe von meiner Seite";
      // ENDE Betreff-Zeile an Empfänger

      $subject2 = "Dieser Datensatz wurde als e-Mail an Dich versendet";
      $message = "Nachrichten von ".$admin.":\n\n";

      // BEGINN Mail an Benutzer
      // Variable gründen mit der Eingabe des Feldes e-Mail aus dem Formular
      $useremail=$_POST['E-Mail'];

      // Text an Benutzer
      $sendUser  = "Vorname: " .$_SESSION['mvorname'] . "\n\n";
      $sendUser .= "Name   : " .$_SESSION['mname'] . "\n\n";
      $sendUser .= "Strasse: " .$_SESSION['mstrasse'] . "\n\n";
      $sendUser .= "Ort    : " .$_SESSION['mort'] . "\n\n";
      $sendUser .= "Land   : " .$_SESSION['mland'] . "\n\n";
      $sendUser .= "Telefon: " .$_SESSION['mtelefon'] . "\n\n";
      $sendUser .= "e-Mail : " .$_SESSION['mmail'] . "\n\n";
      $sendUser .= "Web    : " .$_SESSION['mhomepage'] . "\n\n";
      $sendUser .= "Text   :\n\n" .$_SESSION['mkommentar'] . "\n\n";
      $sendUser .= "Foto   : " .$_SESSION['mfoto'] . "\n\n";

      $sendSign  = "\n\n\n\neine Kopie dieser Mail ging an den Webmaster";
      $sendSign .= "\n\nGruß Webmaster";
      // ENDE Mail an Benutzer

      // Mail an Benutzer der Website
      mail($useremail, $subject2, $sendUser . $sendSign, "From:Absender@DeineDomain.de");
 
      // Mail an Webmaster der Website senden mit Mail-Adresse des Absenders
      message .= $sendUser;
      mail($admin, $subject1, $message, "From:$useremail");
      header ('location: http://www.DeineDomain.de/Datenbankseite.php');

      // SESSION schließen
      session_destroy();
      exit;

      }else{

      header ('location: http://www.DeineDomain.de/Datenbankseite.php');

      // SESSION schließen
      session_destroy();
      exit;

   }

?>

Ich habe hier lediglich den Link zu dem Foto mit in die Mail aufgenommen. Solltet Ihr vorhaben eine Mail als HTML-Seite zu verschicken, also auch das Bild z.B. tatsächlich anzuzeigen, dann guckt Euch mal das Tutorial von phpBuddy dazu an.

http://www.phpbuddy.eu/emails-mit-php-versenden.html

nach oben

<< zurück zu “Ergebnis”

fertige Datenbank sehen >>

diese Seite weiter empfehlen



Counter Statistik