Ankündigung

Einklappen
Keine Ankündigung bisher.

in einer generierten tabelle die emails als link...

Einklappen

Neue Werbung 2019

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

  • in einer generierten tabelle die emails als link...

    hi,
    ich hab folgendes: eine adresenliste, bei der die leute ihre adresse selber per formular in eine datenbank eingeben.
    nun möchte ich, das jeweils die email-adresse als link dargestellt wird mit einer formmail-seite als ziel, in die dann schon der empfänger (also der geklickte link) eingetragen ist. außerdem muß dann natürlich das formmail script die mail an die jeweils geklickte adresse verschicken..und damit niemand blödsinn damit treibt, ist das ganze hinter nem htaccess..

    der code sieht bis jetzt so aus:

    formmailer:
    Code:
    <?
    
    // Mailaddress to send this form
    
    if (isset($_POST['to']) && !empty($_POST['to']))
     {
     $tomail     = "" . $_POST['to'] . "";
     $ok_site    = "html/adressen/adress_mail_ok.php";
     $error_site = "html/adressen/adress_mail_error.php";
     }
    else
    {
     $tomail     = "*****";
     $ok_site    = "html/home/mail_ok.php";
     $error_site = "html/home/mail_error.php";
    }
    
    
     $subject    = "eine mail von $Name";
    
    // Fields in form: Name, Nachricht, subject
    
    $Nachricht = '
    die kommt von: '.$Name.'
    
    ----------------------------  
    
    '.$Nachricht.'
    
    ';
    
     if($Name && $Nachricht)
      {
       mail("$tomail", "$subject", $Nachricht);
       header("Location: /$ok_site");
      }
     else
      {
       header("Location: /$error_site");
      }
    
    ?>
    formular:
    Code:
    <form name="form1" method="post" action="../../php/mail_kontakt.php">
          <table width="398" border="0" align="center" cellpadding="3" cellspacing="0">
          <tr>
            <td width="388" valign="top">
    
    An
    
              <input name="tomail" type="text" id="tomail" size="20" disabled
              <? echo "value=" . $_GET['to'] . ">"; ?>
            </p>
              
    
    Name 
    
                  <input name="Name" type="text" id="Name6" size="20">
            </p>
              
    
      Text
    
        <textarea name="Nachricht" cols="50" rows="10" wrap="VIRTUAL" id="textarea7"></textarea>
        
    
        
        
        <input name="Submit" type="submit" id="Submit2" value="Senden">
            </p></td>
            </tr>
        </table>
      </form>
    zeile in der tabelle:
    Code:
    <?php
    echo "<td><a href=\"../adress_kontakt.php?to=" . $line['email'] . "\" class='email'>".$line['email']."</a></td>\n";
    ?>
    momentan klappt zwar das anklicken und das einitragen der adresse in das formular, aber der formmailer schickt immer an die
    Code:
    else {$tomail     = "****";}
    adresse... die übergabe der email adresse vom formular an den formmailer funktioniert also nicht.. deßhalb jedesmal das "else...". weiß jemand wie es richtig geht?? danke!

  • #2
    also ich hab das jetzt nochmal durchgetestet.. und es liegt definitiv an der übergabe der email adresse vom formular an den formmailer.. die abfrage
    Code:
    if (isset($_POST['to']) && !empty($_POST['to']))
    wird nicht berücksichtigt oder ist schlicht falsch.. ?! und wenn ich in die "else" schleife [die ja immer anspringt und auch funktioniert] ändere
    Code:
    $tomail     = "" . $_POST['to'] . "";
    passiert nichts mehr und ein serverfehler wird angezeigt.. die variable kommt also irgendwie nicht an..

    Kommentar


    • #3
      sehe ich es aufgrund meiner müdigkeit nur nicht .. oder gibt es in deinem formular kein input-feld mit dem namen "to"??
      [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

      Kommentar


      • #4
        Zitat von Ben
        sehe ich es aufgrund meiner müdigkeit nur nicht .. oder gibt es in deinem formular kein input-feld mit dem namen "to"??
        Offenbar nicht. Vielleicht sucht er das:
        Code:
        <input name="tomail" type="text" ...

        Kommentar


        • #5
          yep.

          dementsprechend mal abändern:
          Code:
          if (isset($_POST['to']) && !empty($_POST['to']))
          in
          Code:
          if (isset($_POST['tomail']) && !empty($_POST['tomail']))
          weiterhin würde ich anders überprüfen, ob die variable etwas enthält ..
          wenn $_POST['tomail'] 5 leerzeichen enthält .. naja .. dann ist es !empty

          demnach besser:
          http://www.phpfriend.de/forum/viewto...hlight=#109638

          grüße ben ..
          [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

          Kommentar


          • #6
            @ ben: warte mal, ist die abfrage dann nicht vielleicht sowieso ganz falsch? die abfrage soll bezwecken, dass wenn die mail über die adressliste geschickt wird das hier passiert
            Code:
             $tomail     = "" . $_POST['to'] . ""; 
             $ok_site    = "html/adressen/adress_mail_ok.php"; 
             $error_site = "html/adressen/adress_mail_error.php";
            und wenn es über das kontaktformular geht das hier
            Code:
             $tomail     = "*****"; 
             $ok_site    = "html/home/mail_ok.php"; 
             $error_site = "html/home/mail_error.php";
            der formmailer ist also für zwei verschiedene dinge gut. einmal das normale kontaktformular (direkt an eine feste adresse) oder aber über die adressliste an eine jeweils variable adresse.. das soll in der abfrage entschieden werden.. vielleicht muß da ja was ganz anderes rein?!

            vielen dank aber erstmal!!

            Kommentar

            Lädt...
            X