tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
221
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Zero2000 Zero2000 ist offline Mitglied Gold
    Registriert seit
    Jul 2002
    Beiträge
    249
    Hallo

    Ich könnte rumheulen. Ich habe eine Seite, auf der verschiedene Werte aus einer DB (MySQL) kommen. Diese Seite habe ich mit
    PHP-Code:
    $textmail $textmail 'SEITE'
    in einer Variablen zusammengefasst, damit ich diese Content-Typ und charsetmäßig genau so in einer Email darstellen kann.
    Wenn ich die Mailfunktion einfach mit ans Ende der Seite stelle wird automatisch eine Mail verschickt. Das verschicken sowie das Anzeigen klappen hervorragend.

    Nun will ich aber nicht immer die Seite verschicken sondern erst auf Knopfdruck (submit) und da hängts bei mir. Das alles passiert noch auf der selben Seite also $_SERVER['PHP_SELF'] als action für den Formularbereich.

    Ich bekomm nur nicht den Inhalt der variablen $textmail in der Mail angezeigt. Ich bekomm zwar eine Mail aber diese ist leer.

    Nachfolgenden Code rufe ich beim absenden mittels Submitbutton auf.
    PHP-Code:
    if(isset($mailversand))
    {
    $textmail $_POST['textmail'];
    $tourplannummer $_POST['tourplannummer'];
    $woche $_POST['woche'];
    echo 
    $textmail;
    var_dump"<pre>"$_POST"</pre>" );
    error_reporting(E_ALL);
    ###########################################################################################################
    # EMAILVERSAND BEI NEUER ERSTELLUNG
    ###########################################################################################################
    $mail_empfaenger "xxx@xxx.de";
    $betreff "Nr.: $tourplannummer für $woche";
    $mail_absender "xxxxxx";
    //$text = "\n\Tourplannummer: $tourplannummer";
    mail($mail_empfaenger$betreff$textmail"From:$mail_absender\nContent-Type: text/html; charset=Windows-1252");
    ###########################################################################################################
    echo '<table width=750 background="../images/1px_hellgrn.gif" style="caption-side: bottom; border:1px solid #009900;">';
    echo 
    '<tr><td><b><font color="#009900" face="Arial, Helvetica, sans-serif" size="2">Die Mail wurde verschickt!</b><br>Sie werden in 3 sek. automatisch zur Übersicht weitergeleitet. Falls Ihr Browser keine Weiterleitung unterstützt oder Javascript deaktiviert ist, klicken Sie <a href="../i_index.php?action=tour_list"><b>hier</b></a></font></td></tr>';
    echo 
    '</table>';

    Ich weis jetzt nicht welchen Code oder so Ihr noch benötigt deshalb belasse ich es für den Anfang mal mit dem obrigen.
    error_reporting(E_ALL); gibt mir keine Fehler aus und ein var_dumb($_POST); sagt folgendes, wobei mailversand der Name meines submitbuttons ist und EMail der Value auf selbigem.
    HTML-Code:
    string(5) "
    "
    array(1) {
      ["mailversand"]=>
      string(5) "EMail"
    }
    string(6) "
    "
    Ich hoffe mir kann jemand einen kleinen Denkanstoß geben

    MfG
    Maik
     

  2. #2
    GeneSys386 GeneSys386 ist offline Mitglied Silber
    Registriert seit
    Aug 2007
    Ort
    Salzburg, Österreich
    Beiträge
    50
    Hallo!

    na mit
    Code :
    1
    
    $textmail = $_POST['textmail'];
    überschreibst du dir ja die Variable -- $_POST brauchst du nur dazu um Daten aus dem POST-Bereich des HTTP-Protokolls zu lesen.
    Wenn du das so machst, musst du auf deine HTML Seite in dein Fomular noch ein hidden-field z.B. geben und dort den ganzen wert speichern .. also so

    <input type="hidden" name="textmail" value="... hier den sourcecode der seite einfügen ...">

    ist natürlich nicht besonders schön wenn der ganze source-code zwei mal gemacht wird.

    Ich kenn den Rest deines Scripts nicht, aber evtl. reicht es alleine schon aus
    PHP-Code:
    $textmail $_POST['textmail']; 
    heraus zu löschen ... give it a try!
     

  3. #3
    Mohag Mohag ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Ort
    Bornhagen (Thüringen)
    Beiträge
    51
    Füllst du den POST Cache auch richtig bevor du die Seite neu aufrufst?
    Weil wenn nicht, kannst du das so oft losschicjen wie du ,möchtest! Da keine Daten im Cache stehen können auch keine übernommen und versendet werden!!

    Versuch mal:

    PHP-Code:

    if(!$mailversand$_POST['textmail'] = textmail 'SEITE'

    Lg Mohag
    Geändert von Mohag (11.10.07 um 14:29 Uhr)
     
    Einstein sagte einmal,

    wenn man zwei Stunden lang mit einem Mädchen zusammensitzt, meint man, es wäre eine Minute. Sitzt man jedoch eine Minute auf einem heißen Ofen, meint man, es wären zwei Stunden.

    Das ist Relativität.

  4. #4
    Zero2000 Zero2000 ist offline Mitglied Gold
    Registriert seit
    Jul 2002
    Beiträge
    249
    Wenn ich mir meine Seite so angucke fällt mir ja auf, dass die Variablen ja nur als Variablen existieren, also ohne in einem Inputfeld als Value oder Name zu stehen.
    Wenn ich diese Zeile
    PHP-Code:
    $textmail $_POST['textmail']; 
    lösche, gibts nen Undefined variable "Fehler".
    Und zwar wegen dieser Zeile hier:
    PHP-Code:
    mail($mail_empfaenger$betreff$textmail"From:$mail_absender\nContent-Type: text/html; charset=Windows-1252"); 
    hidden-Inputfelder hatte ich auch schon das geht auch nicht wirklich, denn wenn ich ein hidden-Inputfeld nehme und als Value die Variable $textmail einfüge dann habe ich die Seite zweimal untereinander wenn Ihr versteht was ich meine...

    Ich lese die Daten aus der DB und zeige diese mittels einer while-Schleife an.
    Eigentlich gehts ja nur noch darum die Variable per submit zu übergeben. Bisher habe ich das alles immer per Formular gelöst, aber nun sind ja diese variablen nicht in Inputfeldern integriert und die Lösung per Formular geht für diesen Zweck nicht.

    Ich hoffe Ihr könnt mir noch folgen. Wie gesagt funktioniert es tadellos, wenn ich die Abfrage rausnehme und die Mail beim laden der Seite gleich verschickt wird.

    [EDIT]Kann man Variablen überhaupt ohne ein formular zu benutzen übergeben
    meine Seite gebe ich letztendlich mit
    PHP-Code:
    echo $textmail
    aus.[/EDIT]

    MfG
    Maik
    Geändert von Zero2000 (11.10.07 um 15:34 Uhr) Grund: Idee
     

  5. #5
    Mohag Mohag ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Ort
    Bornhagen (Thüringen)
    Beiträge
    51
    Dann mach mal ein Form auf mit POST übergabe, setz die CacheVariablen und deine Mailversandvariable (diese würde ich per GET übergeben) und dann versuchs nochmal

    Lg Mohag
     
    Einstein sagte einmal,

    wenn man zwei Stunden lang mit einem Mädchen zusammensitzt, meint man, es wäre eine Minute. Sitzt man jedoch eine Minute auf einem heißen Ofen, meint man, es wären zwei Stunden.

    Das ist Relativität.

  6. #6
    Mohag Mohag ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Ort
    Bornhagen (Thüringen)
    Beiträge
    51
    Ja kannst du, indem du register_globals auf on setzt
    und mit globalen Variablen arbeitest.

    ist allerdings sehr unsicher und deshalb wurden die Chaches POST usw entwickelt!!

    Lg Mohag
     
    Einstein sagte einmal,

    wenn man zwei Stunden lang mit einem Mädchen zusammensitzt, meint man, es wäre eine Minute. Sitzt man jedoch eine Minute auf einem heißen Ofen, meint man, es wären zwei Stunden.

    Das ist Relativität.

  7. #7
    Zero2000 Zero2000 ist offline Mitglied Gold
    Registriert seit
    Jul 2002
    Beiträge
    249
    das mit register_globals lasse ich, weil die Skripte dann nicht mehr beim Hoster laufen.
    Ich habe jetzt einen neuen Formbereich erstellt und bis auf die $textmail kommt auch alles was ich benötige mit rüber.
    Wie soll ich denn die $textmail mit GET übergeben wenn ich im Formularbeginn als Methode POST ausgewählt habe?

    MfG
    Maik
     

  8. #8
    Zero2000 Zero2000 ist offline Mitglied Gold
    Registriert seit
    Jul 2002
    Beiträge
    249
    GELÖST!
    Habe die variable $textmail einfach in eine Session getan und fertig!
    Hätte nicht gedacht das es so einfach gehen würde, aber das denke ich ja immer.

    MfG
    Maik
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 31.08.10, 08:38
  2. Komplexes Problem bei Darstellung einer Webseite
    Von Lobi im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 04.10.07, 11:49
  3. Problem mit Zuweisung einer Variable
    Von Lukasz im Forum PHP
    Antworten: 8
    Letzter Beitrag: 19.11.03, 15:27
  4. Antworten: 3
    Letzter Beitrag: 28.07.03, 10:08
  5. problem mit mail() und einer function...
    Von chris_sit im Forum PHP
    Antworten: 7
    Letzter Beitrag: 13.03.03, 22:03