Comunidad de diseño web y desarrollo en internet online

Error al pasar un variable

Citar            
MensajeEscrito el 16 Oct 2009 09:31 am
Hola a todos,

Llevo unos dias dandole vueltas, todo funciona correctamente pero no envia el valor de la variable que le paso al llamarlo.

Quiero hacer el formulario en php "Recomendar a un amigo" una pagina de mi sitio web, y lo he llamado "recomendar.php".

Cómo quiero que sea general pues le paso además el link de la pagina que quiero recomendar para que aparezca en el mensaje del email destinatario. Todo funciona correctamente pero no lee la variable que le paso cuando llamo al formulario. lo he leigo con $_GET y con $_HTTP_GET_VARS["pagina"]

En XHTML: <a href="../recomendar.php?pagina=nombre-del-archivo onclick="window.open(this.href);return false;" title="Recomendar">Recomendar pagina</a>

En PHP

Código PHP :

   <? if ($HTTP_GET_VARS["accion"] == "") { ?>
            
               <p>Para enviar esta historia a otras personas, rellena los siguientes datos:</p>
                 <br />
                <form action="http://nombre.com/recomendar.php?accion=enviar" id="formRecomendar" method="post" >
             <table id="tRecomendar">
                   <tr>
                        <td class="htd"> <label for="sunombre"><span class="bold">Su nombre</span></label></td>
                        <td> <input type="text" name="sunombre" id="sunombre" size="43" /></td>
               </tr>
                    <tr>
                       <td class="htd"> <label for="suemail"><span class="bold">Su email</span></label></td>
                        <td> <input type="text" name="suemail" id="suemail" size="43"  /></td>
                    </tr>
                    <tr>
                       <td class="htd"> <label for="email_destinatario"><span class="bold">Email del destinatario</span> &nbsp;&nbsp;</label></td>
                        <td> <input type="text" name="email_destinatario" id="email_destinatario" size="43" /></td>
                    </tr>
                    
                    <tr>
                       <td></td>
                        <td class="htd"><div class="textder paddingleftright"><input type="submit" value="Enviar" name="enviar"  /></div></td>
                    </tr>
                    
                    
               </table>
         </form>
        
         <?
         }

         elseif ($HTTP_GET_VARS["accion"] == "enviar") {

            
            $e_destinatario = $_POST["email_destinatario"];
            $n_remitente = $_POST["sunombre"];
            $e_remitente = $_POST["suemail"];
            $url = $HTTP_GET_VARS["historia"];
            
              if ($e_destinatario != "" && $n_remitente != "" && $e_remitente != "") {
            
             $nombre_del_sitio = "Nombre Del Sitio";
             $direccion = "<a href='http://www.nombre.com/folder/" ;
             $direccionhtml = ".html'> HISTORIA";
            //indica el asunto del mensaje
                $asunto = $n_remitente . " te recomienda un sitio";
            //redacta el mensaje
               $mensaje = $n_remitente . " te recomienda que visites la historia del sitio web <b>";
               $mensaje .= $nombre_del_sitio . "</b> <br> Puedes verlo en: <b><br>";
               $mensaje .= $direccion . $url . $direccionhtml. "</a></b><br><br>Saludos!";
            
            //indica que el mail se envía en formato HTML
            
                $encabezado = "From:".$n_remitente."\nReply-To:".$e_remitente."\n"."X-Mailer:PHP/".phpversion()."\n". "Mime-Version: 1.0\n"."Content-Type: text/html";
            
                  
             mail($e_destinatario , $asunto , $mensaje , $encabezado);
                                              
                echo "<b>El mensaje ha sido enviado</b>.<br>Gracias por recomendarnos!";
            }
            else {
            
                echo "Por favor, es necesario que completes todos los campos.<br>";
                echo "<a href=javascript:history.back()>Pincha aquí</a> para corregir los campos.";
            
                }
            
            }
            ?>

Deciros que todo funciona correctamente pero el link que aparece en HISTORIAS es http://www.nombre.com/folder/.html

Deciros que estoy empezando con este lenguaje y daros las gracias por ayudarme.

Un saludo para t@dos.

Reme

Por reme

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Oct 2009 04:28 pm
no uses $http_get_vars simplemente usa $_GET['variable'] ahora mi pregunta es porq usas get y post en el mismo proceso :-D saludos

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 16 Oct 2009 06:06 pm
En primer lugar darte las gracias, yo soy principiante en PHP y este codigo lo encontre en la red, le he adicionado algunas cosas pero nada más.

He usado Post para recibir los datos del formulario y para el resto gets. No sé si esta bien o no pero he visto varios ejemplos en Internet y de echo lo hacen así.

Un saludo,

Reme

Por reme

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 16 Oct 2009 09:25 pm
mejor te recomiendo o pasar todo por post o pasar todo por get no mezcles mejor pasa todo por post utilizando campos hidden en el formulario o usa ajax y pasas por get :-D saludos y a la orden

Por talcual

686 de clabLevel



 

Colombia

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.