Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2007, 13:06
Avatar de xiscomax
xiscomax
 
Fecha de Ingreso: febrero-2006
Mensajes: 379
Antigüedad: 18 años, 2 meses
Puntos: 5
Ayuda con formulario, no recivo datos adjuntos pero si las imagenes ¬¬?

Tengo este formulario de contacto con opción de upload de archivos, el formulario funciona bien salvo en que solo recivo el Nombre de quien me manda el formulario, la direccion de correo de esta persona y el archivo adjunto.
Pero no recivo el mensaje escrito.

Tengo 2 versiones del Formulario.

version que no incluye opción de adjuntar archivos y funciona bien, me llegan todos los datos del remitente.

Nombre
Mensaje de texto
Web
Y me muestra incluso la IP


version "Que es la que quiero" si incluye opcion de adjuntar pero no recivo mas que el Nombre y el Archivo adjunto.

Os dejo el codigo de cada una de las versiones empezando por la que funciona. Haber si alguien me puede decir donde puede fallar la 2ª version con upload.

1ª version sin upload
Código PHP:
<?php
/*
Plugin Name: WP-ContactForm (de)
Plugin URI: http://johannesries.de/webwork/contactform/
Description: Das WP-ContactForm Plugin generiert ein Kontaktformular, das in statische Seiten oder Beiträge mittels Quicktag bzw. Button-Klick eingefügt werden kann. (Kompatibel mit WordPress 2.0 und aufwärts) Deutschsprachige Version von <a href="http://johannesries.de">Johannes Ries</a>.
Author: Ryan Duff
Author URI: http://ryanduff.net
Version: 1.4.3
*/

load_plugin_textdomain('wpcf',$path 'wp-content/plugins/wp-contact-form');

/* Declare strings that change depending on input. This also resets them so errors clear on resubmission. */
$wpcf_strings = array(
    
'name' => '<div class="contactright"><input type="text" name="wpcf_your_name" id="wpcf_your_name" size="30" maxlength="50" value="' $_POST['wpcf_your_name'] . '" /> (' __('required''wpcf') . ')</div>',
    
'email' => '<div class="contactright"><input type="text" name="wpcf_email" id="wpcf_email" size="30" maxlength="50" value="' $_POST['wpcf_email'] . '" /> (' __('required''wpcf') . ')</div>',
    
'msg' => '<div class="contactright"><textarea name="wpcf_msg" id="wpcf_msg" cols="35" rows="8" >' $_POST['wpcf_msg'] . '</textarea></div>',
    
'error' => '');

/*
This shows the quicktag on the write pages
Based off Buttonsnap Template
http://redalt.com/downloads
*/
if(get_option('wpcf_show_quicktag') == true) {
    include(
'buttonsnap.php');

    
add_action('init''wpcf_button_init');
    
add_action('marker_css''wpcf_marker_css');

    function 
wpcf_button_init() {
        
$wpcf_button_url buttonsnap_dirname(__FILE__) . '/wpcf_button.png';

        
buttonsnap_textbutton($wpcf_button_url__('Insert Contact Form''wpcf'), '<!--contact form-->');
        
buttonsnap_register_marker('contact form''wpcf_marker');
    }

    function 
wpcf_marker_css() {
        
$wpcf_marker_url buttonsnap_dirname(__FILE__) . '/wpcf_marker.gif';
        echo 
"
            .wpcf_marker {
                    display: block;
                    height: 15px;
                    width: 155px
                    margin-top: 5px;
                    background-image: url({$wpcf_marker_url});
                    background-repeat: no-repeat;
                    background-position: center;
            }
        "
;
    }
}

function 
wpcf_is_malicious($input) {
    
$is_malicious false;
    
$bad_inputs = array("\r""\n""mime-version""content-type""cc:""to:");
    foreach(
$bad_inputs as $bad_input) {
        if(
strpos(strtolower($input), strtolower($bad_input)) !== false) {
            
$is_malicious true; break;
        }
    }
    return 
$is_malicious;
}

/* This function checks for errors on input and changes $wpcf_strings if there are any errors. Shortcircuits if there has not been a submission */
function wpcf_check_input()
{
    if(!(isset(
$_POST['wpcf_stage']))) {return false;} // Shortcircuit.

    
$_POST['wpcf_your_name'] = stripslashes(trim($_POST['wpcf_your_name']));
    
$_POST['wpcf_email'] = stripslashes(trim($_POST['wpcf_email']));
    
$_POST['wpcf_website'] = stripslashes(trim($_POST['wpcf_website']));
    
$_POST['wpcf_msg'] = stripslashes(trim($_POST['wpcf_msg']));

    global 
$wpcf_strings;
    
$ok true;

    if(empty(
$_POST['wpcf_your_name']))
    {
        
$ok false$reason 'empty';
        
$wpcf_strings['name'] = '<div class="contactright"><input type="text" name="wpcf_your_name" id="wpcf_your_name" size="30" maxlength="50" value="' $_POST['wpcf_your_name'] . '" class="contacterror" /> (' __('required''wpcf') . ')</div>';
    }

    if(!
is_email($_POST['wpcf_email']))
    {
        
$ok false$reason 'empty';
        
$wpcf_strings['email'] = '<div class="contactright"><input type="text" name="wpcf_email" id="wpcf_email" size="30" maxlength="50" value="' $_POST['wpcf_email'] . '" class="contacterror" /> (' __('required''wpcf') . ')</div>';
    }

    if(empty(
$_POST['wpcf_msg']))
    {
        
$ok false$reason 'empty';
        
$wpcf_strings['msg'] = '<div class="contactright"><textarea name="wpcf_msg" id="wpcf_message" cols="35" rows="8" class="contacterror">' $_POST['wpcf_msg'] . '</textarea></div>';
    }

    if(
wpcf_is_malicious($_POST['wpcf_your_name']) || wpcf_is_malicious($_POST['wpcf_email'])) {
        
$ok false$reason 'malicious';
    }

    if(
$ok == true)
    {
        return 
true;
    }
    else {
        if(
$reason == 'malicious') {
            
$wpcf_strings['error'] = "<div style='font-weight: bold;'>You can not use any of the following in the Name or Email fields: a linebreak, or the phrases 'mime-version', 'content-type', 'cc:' or 'to:'.</div>";
        } elseif(
$reason == 'empty') {
            
$wpcf_strings['error'] = '<div style="font-weight: bold;">' stripslashes(get_option('wpcf_error_msg')) . '</div>';
        }
        return 
false;
    }
}

/*Wrapper function which calls the form.*/
function wpcf_callback$content )
{
    global 
$wpcf_strings;

    
/* Run the input check. */

        
if(! preg_match('|<!--contact form-->|'$content)) {
        return 
$content;
        }

    if(
wpcf_check_input()) // If the input check returns true (ie. there has been a submission & input is ok)
    
{
            
$recipient get_option('wpcf_email');
            
$subject get_option('wpcf_subject');
                        
$success_msg get_option('wpcf_success_msg');
                        
$success_msg stripslashes($success_msg);

            
$name $_POST['wpcf_your_name'];
            
$email $_POST['wpcf_email'];
            
$website $_POST['wpcf_website'];
            
$msg $_POST['wpcf_msg'];

                  
$headers "MIME-Version: 1.0\n";
                        
$headers .= "From: $name <$email>\n";
                        
$headers .= "Content-Type: text/plain; charset=\"" get_settings('blog_charset') . "\"\n";

            
$fullmsg "$name schrieb:\n";
            
$fullmsg .= wordwrap($msg80"\n") . "\n\n";
            
$fullmsg .= "Website: " $website "\n";
            
$fullmsg .= "IP: " getip();

            
mail($recipient$subject$fullmsg$headers);

            
$results '<div style="font-weight: bold;">' $success_msg '</div>';
            echo 
$results;
    }
    else 
// Else show the form. If there are errors the strings will have updated during running the inputcheck.
    
{
        
$form '<div class="contactform">
        ' 
$wpcf_strings['error'] . '
            <form action="' 
get_permalink() . '" method="post">
                <div class="contactleft"><label for="wpcf_your_name">' 
__('Your Name: ''wpcf') . '</label></div>' $wpcf_strings['name']  . '
                <div class="contactleft"><label for="wpcf_email">' 
__('Your Email:''wpcf') . '</label></div>' $wpcf_strings['email'] . '
                <div class="contactleft"><label for="wpcf_website">' 
__('Your Website:''wpcf') . '</label></div><div class="contactright"><input type="text" name="wpcf_website" id="wpcf_website" size="30" maxlength="100" value="' $_POST['wpcf_website'] . '" /></div>
                <div class="contactleft"><label for="wpcf_msg">' 
__('Your Message: ''wpcf') . '</label></div>' $wpcf_strings['msg'] . '
                <div class="contactright"><input type="submit" name="Submit" value="' 
__('Submit''wpcf') . '" id="contactsubmit" /><input type="hidden" name="wpcf_stage" value="process" /></div>
            </form>
        </div>
        <div style="clear:both; height:1px;">&nbsp;</div>'
;
        return 
str_replace('<!--contact form-->'$form$content);
    }
}


/*Can't use WP's function here, so lets use our own*/
function getip()
{
    if (isset(
$_SERVER))
    {
         if (isset(
$_SERVER["HTTP_X_FORWARDED_FOR"]))
         {
              
$ip_addr $_SERVER["HTTP_X_FORWARDED_FOR"];
         }
         elseif (isset(
$_SERVER["HTTP_CLIENT_IP"]))
         {
              
$ip_addr $_SERVER["HTTP_CLIENT_IP"];
         }
         else
         {
             
$ip_addr $_SERVER["REMOTE_ADDR"];
         }
    }
    else
    {
         if ( 
getenv'HTTP_X_FORWARDED_FOR' ) )
         {
              
$ip_addr getenv'HTTP_X_FORWARDED_FOR' );
         }
         elseif ( 
getenv'HTTP_CLIENT_IP' ) )
         {
              
$ip_addr getenv'HTTP_CLIENT_IP' );
         }
         else
         {
              
$ip_addr getenv'REMOTE_ADDR' );
         }
    }
return 
$ip_addr;
}


/*CSS Styling*/
function wpcf_css()
    {
    
?>
<style type="text/css" media="screen">

/* Wp-Contact Form (de) CSS */
.contactform {
    position: static;
    overflow: hidden;
}

.contactleft {
    width: 25%;
    text-align: right;
    clear: both;
    float: left;
    display: inline;
    padding: 4px;
    margin: 5px 0;
}

.contactright {
    width: 70%;
    text-align: left;
    float: right;
    display: inline;
    padding: 4px;
    margin: 5px 0;
}

.contacterror {
    border: 1px solid #ff0000;
}

.contactsubmit {
}
/* Ende Wp-ContactForm (de) CSS */

    </style>

<?php

    
}

function 
wpcf_add_options_page()
    {
        
add_options_page('Contact Form Options''Contact Form''manage_options''wp-contact-form/options-contactform.php');
    }

/* Action calls for all functions */

//if(get_option('wpcf_show_quicktag') == true) {add_action('admin_footer', 'wpcf_add_quicktag');}

add_action('admin_head''wpcf_add_options_page');
add_filter('wp_head''wpcf_css');
add_filter('the_content''wpcf_callback'7);

?>
En el siguiente post esta la 2ª version

Última edición por xiscomax; 22/06/2007 a las 13:14