[PHP] Statt an die Email senden, in der SQL DB speichern

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Gimli_q, 24. Juni 2007 .

  1. 24. Juni 2007
    Statt an die Email senden, in der SQL DB speichern

    Heyho,

    ich hab hier mein Teamspeak2 Serverantrag Script, das nach dem ausfüllen und abschicken des Formulars direkt an eine Email sendet. Ich möchte das nuneinmal in einer mysql DB speichern lassen. Hier ist einmal der Quellcode:

    antrag.php

    PHP:
    <? php
     
    if( $_SESSION [ "ws_auth" ]== "" )
        {
         die(
    "<center><span class='fontnormal'>Du bist nicht eingeloggt.</span></center>" );
        }

    function 
    replace ( $text , $vars )
      {
      
    $new = $text ;
       if(
    is_array ( $vars ))
         {
           foreach(
    $vars  as  $K => $var )
            {
             
    $new = eregi_replace ( $K , $var , $new );
            }
         }
     if(
    $new != "" )
       {
        return 
    $new ;
       }
     else
       {
        return 
    false ;
       }
     }
    eval (
    "\$title_tss_antrag = \"" . gettemplate ( "title_tss_antrag" ). "\";" );
    echo 
    $title_tss_antrag ;

    if (
    $_POST [ 'agree' ] !=  0 ) die ( 'Sie müssen die AGB erst akzeptieren!' );
    if (
    $_POST [ 'agree' ] !=  0 ) die ( 'Sie müssen die Regeln erst akzeptieren!' );
    if(
    $_POST [ "action" ] ==  "send" ) {
      
    $servername  trim ( stripslashes ( $_POST [ 'servername' ]));
      
    $serverstatus  trim ( stripslashes ( $_POST [ 'serverstatus' ]));
      
    $serverslots  trim ( stripslashes ( $_POST [ 'serverslots' ]));
      
    $anrede  trim ( stripslashes ( $_POST [ 'anrede' ]));
      
    $firstname  trim ( stripslashes ( $_POST [ 'firstname' ]));
      
    $lastname  trim ( stripslashes ( $_POST [ 'lastname' ]));
      
    $email  trim ( stripslashes ( $_POST [ 'email' ]));
      
    $icq  trim ( stripslashes ( $_POST [ 'icq' ]));
      
    $homepage  trim ( stripslashes ( $_POST [ 'homepage' ]));
      if(!
    $servername $fehler [] =  "Bitte gebe einen gewünschten Servernamen an!" ;
      if(!
    $firstname $fehler [] =  "Bitte gebe Deinen korrekten Vornamen an!" ;
      if(!
    $lastname $fehler [] =  "Bitte gebe Deinen korrekten Nachnamen an!" ;
      if(!
    $email $fehler [] =  "Bitte gebe Deine korrekte Email-Adresse an!" ;
      if(!
    $icq $fehler [] =  "Bitte gebe deine ICQ Nummer an!" ;
      if(!
    $homepage $fehler [] =  "Bitte gebe deine Homepage an!" ;
      if(!
    count ( $fehler )) {
    $header = "From: $mail \n" ;
    $header  .=  "Reply-To:  $mail \n" ;
    $header .= "Content-Type: text/html" ;

    $text = 'Teamspeak2 Server Antrag von %vorname%

    %vorname% hat sich einen Server wie folgt beantragt: (Ip-Adresse: %ip%)

    - Slotanzahl:         %slots%
    - Serverstatus:     %serverstatus%

    - Vorname:         %vorname%
    - Nachname:         %nachname%
    - Email-Adresse:     %mail%

    - Zusätzliches:    %anhang%'
    ;
    $vars =array( "%ip%" => $ip ,
                
    "%slots%" => $slots ,
                 
    "%serverstatus%" => $serverstatus ,
                 
    "%vorname%" => $vorname ,
                  
    "%nachname%" => $nachname ,
                 
    "%mail%" => $mail ,
                
    "%anhang%" => $anhang ,
                );
     
    $neutext = replace ( $text , $vars );
    mail ( $admin_email $betreff $neutext  , $header );
    redirect ( 'index.php?site=hosting_serverantrag' , 'Erfolgreich beantragt!' );
        unset(
    $mail );
        unset(
    $anhang );
       unset(
    $betreff );
      } else {
        echo 
    '<table width="100%" border="0" cellspacing="1" cellpadding="2" bgcolor="#222222">
         <tr>
          <td class="titles" align="center">&nbsp; Teamspeak2 Serverantrag</td>
         </tr>
         <tr><td class="underline"></td></tr>
         <tr bgcolor="#111111">
          <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
           <tr>
            <td><span class="fontnormal">Folgende Angaben waren falsch:</span><br>
            <ul><span class="fontnormal"><li>'
    . implode ( '<li>' , $fehler ). '</ul></span><br>
            <center><a class="imagebutton" href="javascript:history.back()"><img src="img/tssantrag-goback.png" border="0"></a></center><br></td>
           </tr>
          </table></td>
         </tr>
        </table>'
    ;
      }
    } else{

    $bg1  BG_1 ;

    eval (
    "\$tss_antrag = \"" . gettemplate ( "tss_antrag" ). "\";" );
    echo 
    $tss_antrag ;
    }
    ?>
    HTML template datei dazu:

    HTML:
    <script language='javascript' type="text/javascript">
    <!--
    function Validate1() {
     // Have we checked the checkbox?
     if (document.formname.agree.checked == true) {
     return true;
     } else {
     alert ("Sie müssen die AGB erst akzeptieren!");
     return false;
     }
    }
    //-->
    </script>
    <script language='javascript' type="text/javascript">
    <!--
    function Validate2() {
     // Have we checked the checkbox?
     if (document.formname2.agree2.checked == true) {
     return true;
     } else {
     alert ("Sie müssen die Regeln erst akzeptieren!");
     return false;
     }
    }
    //-->
    </script>
    <script language='javascript' type="text/javascript">
    function Validate(){
    Validate1();
    Validate2();
    }
    </script>
    <table width="100%" border="0" cellspacing="1" cellpadding="2" bgcolor="#222222">
     <tr>
     <td class="titles" align="center">&nbsp; Teamspeak2 Serverantrag</td>
     </tr>
     <tr>
     <td class="underline"></td>
     </tr>
     <tr bgcolor="#111111">
     <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
     <tr>
     <td><center>
     <form action="index.php?site=tss_antrag" method="post">
     <input type="hidden" name="action" value="send">
     <table width="100%">
     <tr>
     <td colspan="2"><span class="fontnormal"><font color="#0066CC">&raquo; Serverangaben</font></span></td>
     </tr>
     <tr>
     <td colspan="2"><hr size="1" noshade="noshade" style="border-top: 1px dotted #333333"></td>
     </tr>
     <tr>
     <td ><span class="fontnormal">Servername:</span></td>
     <td><input name="servername" class="form_off" id="servername" onfocus="this.className='form_on'" onblur="this.className='form_off'" value="$servername" size="40" /></td>
     </tr>
     <tr>
     <td><span class="fontnormal">Serverstatus:</span></td>
     <td><select name="serverstatus" id="serverstatus" class="form_off" onfocus="this.className='form_on'" onblur="this.className='form_off'">
     <option>Alle Channels (Clanserver)</option>
     <option>Eigener Channel (Publicserver)</option>
     </select></td>
     </tr>
     <tr>
     <td><span class="fontnormal">Slotanzahl:</span></td>
     <td><select name="serverslots" id="serverslots" class="form_off" onfocus="this.className='form_on'" onblur="this.className='form_off'">
     <option>20 Slots</option>
     </select></td>
     </tr>
     <tr>
     <td><span class="fontnormal">Serverpasswort:</span></td>
     <td><input name="serverpw" class="form_off" id="serverpw" onfocus="this.className='form_on'" onblur="this.className='form_off'" value="$password" size="40" /></td>
     </tr>
     <tr>
     <td>&nbsp;</td>
     <td>&nbsp;</td>
     </tr>
     <tr>
     <td colspan="2"><span class="fontnormal"><font color="#0066CC">&raquo; Zur Person</font></span></td>
     </tr>
     <tr>
     <td colspan="2"><hr size="1" noshade="noshade" style="border-top: 1px dotted #333333"></td>
     </tr>
     <tr>
     <td><span class="fontnormal">Anrede</span></td>
     <td><select name="select" id="select" class="form_off" onfocus="this.className='form_on'" onblur="this.className='form_off'">
     <option>Herr</option>
     <option>Frau</option>
     </select></td>
     </tr>
     <tr>
     <td><span class="fontnormal">Vorname / Nachname:</span></td>
     <td><input name="firstname" class="form_off" id="firstname" onfocus="this.className='form_on'" onblur="this.className='form_off'" value="$firstname" size="20" />
     <input name="lastname" class="form_off" id="lastname" onfocus="this.className='form_on'" onblur="this.className='form_off'" value="$lastname" size="20" /></td>
     </tr>
     <tr>
     <td>&nbsp;</td>
     <td>&nbsp;</td>
     </tr>
     <tr>
     <td colspan="2"><span class="fontnormal"><font color="#0066CC">&raquo; Kontaktdaten</font></span></td>
     </tr>
     <tr>
     <td colspan="2"><hr size="1" noshade="noshade" style="border-top: 1px dotted #333333"></td>
     </tr>
     <tr>
     <td><span class="fontnormal">Email-Adresse:</span></td>
     <td><input name="email" class="form_off" id="email" onfocus="this.className='form_on'" onblur="this.className='form_off'" value="$email" size="20" /></td>
     </tr>
     <tr>
     <td><span class="fontnormal">ICQ Nummer: </span></td>
     <td><input name="icq" class="form_off" id="icq" onfocus="this.className='form_on'" onblur="this.className='form_off'" value="$icq" size="20" /></td>
     </tr>
     <tr>
     <td><span class="fontnormal">Homepage:</span></td>
     <td><input name="homepage" class="form_off" id="homepage" onfocus="this.className='form_on'" onblur="this.className='form_off'" value="$homepage" size="20" /></td>
     </tr>
     <tr>
     <td>&nbsp;</td>
     <td>&nbsp;</td>
     </tr>
     <tr>
     <td colspan="2"><span class="fontnormal"><font color="#0066CC">&raquo; AGB &amp; unsere Regeln</font></span></td>
     </tr>
     <tr>
     <td colspan="2">
     <form name="formname2" method="post" action="">
     <input type="checkbox" class="input" style="border:none; height:12px; width:12px; cursor:pointer" name="agree2" value="1">
    <span class="fontnormal">Ich bestätige hiermit das ich alle Bedingungen der <a target="_blank" style="font-weight:bold; text-decoration:underline" href="index.php?site=regeln">Regeln</a> erfülle.</span>
     </form></td>
     </tr>
     <tr>
     <td colspan="2">
     <form name="formname" method="post" action="">
     <input type="checkbox" class="input" style="border:none; height:12px; width:12px; cursor:pointer" name="agree" value="1">
    <span class="fontnormal">Hiermit akzeptiere ich die <a style="font-weight:bold; text-decoration:underline" href="index.php?site=agb">AGB</a> als verstanden und gelesen.</span>
     </form></td>
     </tr>
     <tr>
     <td>&nbsp;</td>
     <td>&nbsp;</td>
     </tr>
     <tr>
     <td>&nbsp;</td>
     <td>&nbsp;</td>
     </tr>
     <tr>
     <td>&nbsp;</td>
     <td>&nbsp;</td>
     </tr>
     <tr>
     <td>&nbsp;</td>
     <td><center>
     <input name="submit" type="submit" style="background-image:url(./img/contact-send.png); width:79px; height:20px; border:none; background-color:#000000; cursor:pointer" value="" />
     <input name="reset" type="reset" style="background-image:url(./img/contact-reset.png); width:79px; height:20px; border:none; background-color:#000000; cursor:pointer" value="" />
     </center></td>
     </tr>
     </table>
     </form>
     </center></td>
     </tr>
     </table></td>
     </tr>
    </table>
    Ich habe mich auch schon in google kündig gemacht aber da ich recht wenig php kann wird das auch nichts bringen^^
     
  2. 24. Juni 2007
    AW: Statt an die Email senden, in der SQL DB speichern

    Ersetz den aufruf der mail() funktion mit nem INSERT INTO query.
     
  3. 24. Juni 2007
    AW: Statt an die Email senden, in der SQL DB speichern

    ok, kann das $text ... alles raus oder muss das bestehn bleiben?

    PHP:
    mysql_query ( "INSERT INTO " . PREFIX . "tssantrag SET servername='" . $_POST [ 'servername' ]. "',
                                                     serverstatus='"
    . $_POST [ 'serverstatus' ]. "',
                                                     serverslots='"
    . $_POST [ 'serverslots' ]. "',
                                                     serverpw='"
    . $_POST [ 'serverpw' ]. "',
                                                     anrede='"
    . $_POST [ 'anrede' ]. "',
                                                     firstname='"
    . $_POST [ 'firstname' ]. "',
                                                     lastname='"
    . $_POST [ 'lastname' ]. "',
                                                     email='"
    . $_POST [ 'email' ]. "',
                                                     icq='"
    . $_POST [ 'icq' ]. "',
                                                     homepage='"
    . $_POST [ 'homepage' ]. "'" );
    so?
     
  4. 24. Juni 2007
    AW: Statt an die Email senden, in der SQL DB speichern

    Das ist ein Mischmasch aus UPDATE und INSERT....
    Guck dir mal einen vernuenftigen INSERT-Query an und wandel den dann ab.
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.