Ankündigung

Einklappen
Keine Ankündigung bisher.

Facebook PHP Serverseitig. print $_Server['PHP_SELF']

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Facebook PHP Serverseitig. print $_Server['PHP_SELF']

    Hallo,
    meine Frage.. mein PHP Formular schickt bzw. FB sendet jedes mal wenn die Seite (FBML) geladen wurde eine email über den Server zu mir. Zwar ist das ganz nett aber das Formular soll ja nur gesendet werden wenn wenn auf "submit" geklickt wurde.

    source:
    PHP-Code:
    PHP-Code:
    form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
    Es liegt vllt daran das der Server das Formular so liest und die Values aus der FB FBML in die Mail legt.
    habe auf php.net einiges dazu gelesen versteh es aber nicht.

    PHP-Code:
    mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom
      or die(
    "Die Mail konnte nicht versendet werden."); 
     
    //header("$strReturnhtml",false); 
     //exit; 
    PHP-Code:
    <?php 
    $strEmpfaenger 
    'maxi@maxseinserver.com'

    # Welche Adresse soll als Absender angegeben werden? 
    # (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben) 
    $strFrom       '"Formmailer" <maxi@mailserver.com>'

    # Welchen Betreff sollen die Mails erhalten? 
    $strSubject    'Mig Bax'

    # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden? 
    # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben! 
    $strReturnhtml 'http://apps.facebook.com/myeapp/'

    # Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen? 
    $strDelimiter  ":\t"

    ### Ende Konfiguration ### 
    if($_POST

     
    $strMailtext ""

     while(list(
    $strName,$value) = each($_POST)) 
     { 
      if(
    is_array($value)) 
      { 
       foreach(
    $value as $value_array
       { 
        
    $strMailtext .= $strName.$strDelimiter.$value_array."\n"
       } 
      } 
      else 
      { 
       
    $strMailtext .= $strName.$strDelimiter.$value."\n"
      } 
     } 

     if(
    get_magic_quotes_gpc()) 
     { 
      
    $strMailtext stripslashes($strMailtext); 
     } 

     
    mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom
      or die(
    "Die Mail konnte nicht versendet werden."); 
     
    //header("$strReturnhtml",false); 
     //exit; 
      
     //header("Location: $strReturnhtml",false); 
     //exit; 


    ?> 
    <h1>Facebookmailer sende Deine Mail .</h1> 
            <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post"> 
                <!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. --> 
                <dl> 
                    <dt>Dein Name:</dt> 
                    <dd><input type="text" name="Versender" /></dd> 
                    <dt>Dein Youtube-Video- &lt;Link&gt;</dt> 
                    <dd><input type="text" name="E-Mail" /></dd> 
                    <dt>Sie k&ouml;nnen:</dt> 
                    <dd><input type="checkbox" name="kannwas[]" value="HTML" />HTML <input type="checkbox" name="kannwas[]" value="PHP" />PHP</dd> 
                    <dt>Sie sind:</dt> 
                    <dd><input type="radio" name="sexus" value="M" />Mann <input type="radio" name="sexus" value="Frau" />Frau</dd> 
                    <dt>Sie m&ouml;gen:</dt> 
                    <dd><select name="Browser"><option value="Opera">Opera</option><option value="Mozilla">Mozilla</option></select></dd> 
                    <dt>Bemerkungen:</dt> 
                    <dd><textarea name="Bemerkungen" rows="3" cols="20">Bemerkungen</textarea></dd> 
                </dl> 
                <!-- Ende der Beispielangaben --> 
                <p> 
                <input type="submit" value="Senden" /> 
                <input type="reset" value="Zurücksetzen" /> 
                </p> 
            </form>
    Cheers, Maxi


  • #2
    Das Senden der Mail muss mit in die if($_POST)-Konstruktion. Du solltest aber eins der Formularfelder abfragen, z.B. den Button: if( $_POST['browser'])

    Wenn das soweit läuft, dann bau den Mail-Befehl wieder aus und nutze eine Mailer-Klasse, wie z.B. PHPmailer.
    PHP-Code:
    if ($var != 0) {
      
    $var 0;

    Kommentar


    • #3
      PHP-Code:
      //if($_POST)
      //if( $_POST['browser'])
      if($_POST[button]=="submit"
      hab ich mal gemacht. klappt nun garnicht mehr.
      Der Button hat das:
      PHP-Code:
         <input type="submit" name ="button" value="Senden" /> 
      [] ist doch ein Array. mit dem 'buttton' drin. Der Button == wenn "submit" mache POST.. wenn ich das recht verstanden habe.

      Kommentar


      • #4
        Zitat von wmaxi Beitrag anzeigen
        hab ich mal gemacht. klappt nun garnicht mehr.
        Dann gilt für dich ganz besonders: http://www.php.de/php-einsteiger/489...nsammlung.html
        Damit du Hinweise, die du hier bekommst, in Zukunft auch sinnvoll umsetzen kannst.

        Der Button hat das:
        PHP-Code:
           <input type="submit" name ="button" value="Senden" /> 
        [] ist doch ein Array. mit dem 'buttton' drin. Der Button == wenn "submit" mache POST.. wenn ich das recht verstanden habe.
        Nein, hast du nicht.
        PHP-Code:
        if($_POST[button]=="submit"
        Zuerst mal muss das hier 'button' lauten, sofern du nicht irgendwo eine Konstante namens button definiert hast. (Stelle bitte das error_reporting auf E_ALL und display_errors auf on. Informiere dich, wenn dir das nichts sagt!)
        Und zum anderen lautet der Wert deines Submit-Buttons, der beim Absenden mit den POST-Daten übermittelt wird, nicht "submit".

        Kommentar


        • #5
          , da wied nie Submit drin stehen sondern ehr Senden . Aber nimm am besten die Funktion empty.

          Kommentar


          • #6
            Hi Cokeside..
            kannst du mich mal abholen. .. wenn ich
            PHP-Code:
            if($_POST[button]=="submit"
            in
            PHP-Code:
            if($_POST[button]=="Senden"
            j) okay. das ist klar.. mein fail, klappt jetzt nur.

            es ist immernoch so das wenn ich die FBML seite sende jetzt mit dem button..
            bekomme ich immernoch:



            session: {"uid":"100001200157853","session_key":"2.OhakL_0P t1gKWBFPOJFlcw__.3600.1276268400-100001200157853","secret":"Pd9BlI3aOWMG4emd_ZGYbA_ _","expires":1276268400,"access_token":"1245091675 79440|2.OhakL_0Pt1gKWBFPOJFlcw__.3600.1276268400-100001200157853|ViwTZkaDngaZt1yVD2jJ2LXruHw.","sig ":"3aca13e0e7161b132cc73680e1999378"}
            Versender: Name
            E-Mail: Tune
            kannwas: HTML
            kannwas: PHP
            sexus: M
            Browser: Opera
            Bemerkungen: 1523:
            Bemerkungen
            button: Senden





            wenn du fb hast:
            http://apps.facebook.com/myeukaapp/
            ..
            ...
            cheers Maxi

            Kommentar


            • #7
              .. ach.. nun gehts.. anyway. Vielen dank für den Tip.. Schönes Wochenende..

              Kommentar

              Lädt...
              X