Comunidad de diseño web y desarrollo en internet online

Pasando variables javascript con post

Citar            
MensajeEscrito el 11 Dic 2010 07:26 pm
Esty haciendo el famoso enlace Enviar para un amigo y es mi intención capturar la urul de la página y su título con javascript para posteriormente inserir estos valores dentro del fomulário y enviarl todo con post

Mi javascript es este

Código Javascript :

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
var titulo = document.title;
var url = document.location;
</SCRIPT>


Mi formulário es este

Código HTML :

<form id="form1" name="form1" method="post" action="formulario.php">
  <input name="titulo" type="hidden" value="<?php $titulo = "<script>document.write(titulo)</script>";?>" />
  <input name="url" type="hidden" value="<?php $url = "<script>document.write(url)</script>";?>" />
  <span id="sprytextfield1">
  <label for="nome">Seu nome<br />
  </label>
  <input name="nome" type="text" id="nome" size="30" maxlength="50" />
  <span class="textfieldRequiredMsg">Campo obrigatório.</span></span>
  <p><span id="sprytextfield2">
  <label for="email">Seu e-mail<br />
  </label>
  <input name="email" type="text" id="email" size="30" maxlength="50" />
  <span class="textfieldRequiredMsg">Campo obrigatório.</span><span class="textfieldInvalidFormatMsg">Formato Inválido.</span></span></p>
  <p><span id="sprytextfield3">
    <label for="nomeReceptor">Nome do receptor</label>
    <br />
<input name="nomeReceptor" type="text" id="nomeReceptor" size="30" maxlength="50" />
  <span class="textfieldRequiredMsg">Campo obrigatório.</span></span></p>
  <p><span id="sprytextfield4">
  <label for="emailReceptor">E-mail do receptor</label>
  <br />
<input name="emailReceptor" type="text" id="emailReceptor" size="30" maxlength="50" />
  <span class="textfieldRequiredMsg">Campo obrigatório.</span><span class="textfieldInvalidFormatMsg">Formato inválido.</span></span></p>
  <p><span id="sprytextarea1">
    <label for="mensagem">Mensagem (Opcional)<br />
    </label>
    <textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea>
</span></p>
  <p>
    <input type="submit" name="botao" id="botao" value="Enviar" />
  </p>
</form>


y mi PHP este

Código PHP :

<?php 

   if ( isset($_POST['botao']) ) {
      
      //Variáveis internas
      $destino    = $_POST['nomeReceptor'];
      $remetente  = 'from:'.$_POST['nome'];
      $assunto    = $_POST['titulo'];
      
      //Corpo da mensagem
      $mensagem    = $_POST['mensagem']."\n";
      $mensagem   .= $_POST['nome']."\n";
      $mensagem   .= 'Lhe enviou este tema publicado em comunidadeshalom.org'."\n";
      $mensagem   .= $_POST['url']."\n";

      //Enviar a mensagem
      mail($destino, $assunto, $mensagem, $remetente);

   }
?>


La dirección es esta

http://www.pluspixel.com.br/teste/example-outsideHTML/formulario.php

No estoy recibiendo ningún error pero el mensaje no llega. Alguien tiene una idea de que pueda estar pasando?

Desde ya muchas gracias. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Dic 2010 01:47 am
esto... la linea del campo hidden no va asi?

Código HTML :

  
<input name="url" type="hidden" value=document.write(url) /> 


O algo asi O_o,

Por Atomsk

350 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 13 Dic 2010 03:17 am
Hice el cambio pero continúa el mismo problema. De todas formas, gracias. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Dic 2010 04:19 am
Esto:

Código PHP :

<input name="titulo" type="hidden" value="<?php $titulo = "<script>document.write(titulo)</script>";?>" /> 


no tiene sentido. En la parte PHP lo único que estás haciendo es asignar una cadena de texto a la variable $titulo cuyo valor es literalmente "<script>document.write(titulo)</script>". Si esperabas que se ejecutara eso como código JavaScript me temo que no será así simplemente porque lo que está entre <?php y ?> se ejecuta en el servidor, el cliente jamás se enterará de que existe esa sentencia JavaScript.

Esta otra línea:

Código PHP :

<input name="url" type="hidden" value="<?php $url = "<script>document.write(url)</script>";?>" />


adolece de lo mismo que la anterior con el agravante de que es redundante: tú ya sabes cuál es la url (en realidad uri) del html que estás ejecutando desde PHP, simplemente haciendo:

Código PHP :

<input name="url" type="hidden" value="<?php echo "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>" />


Y para el primer caso, suponiendo que el título de la página sea dinámico, tal como parece sugerir tu código, no necesitas PHP, simplemente:

Código PHP :

<input name="titulo" type="hidden" id="titulo" />
<script type="text/javascript">
document.getElementById('titulo').value=document.write(titulo);
</script>


Algo similar podrías hacer con el input "url" si quieres ahorrarte el código PHP.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 06 Ene 2011 01:14 am
Antes que nada quiero agradecer por la respuesta. No respondí antes porque estaba de vacaciones.

Me parece que hay algún problema con estas líneas

<input name="titulo" type="hidden" id="titulo" />
<script type="text/javascript">
document.getElementById('titulo').value=document.write(titulo);
</script>

Porque el script está escribiendo el título de la página y no lo está colocando en el input para ser enviado

Desde ya muchas gracias. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Ene 2011 03:40 pm
Sí, perdón, es:

Código Javascript :

<input name="titulo" type="hidden" id="titulo" /> 
<script type="text/javascript"> 
document.getElementById('titulo').value=document.title; 
</script>

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 06 Ene 2011 06:04 pm
Amigo me parece que también hay algún problema en esta línea

<input name="url" type="hidden" value="<?php $url = "<script>document.write(url)</script>";?>" />

y es con las comillas

Cómo sería el código para la url para usar solo javascript?

<input name="titulo" type="hidden" id="url" />
<script type="text/javascript">
document.getElementById('url').value=document.url;
</script>

así?

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Ene 2011 08:16 pm
Sí, cierto. Ya he dicho eso en mi mensaje del 13 de diciembre. Y ya he comentado cómo solucionarlo.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 08 Ene 2011 12:32 am
Ya correjí el formulário pero estoy con otro problema. Como dije cuando abrí este tópico esto es para hacer el enlace Enviar para un amigo, en mi caso utilizo JQuery con Lightbox para abrir una ventana donde cargo el formulário.
Mi modelo debe entonces responder a este esquema, cuando estoy en una deteminada página y clico en el enlace de alguna forma tengo que enviarle al formulário el título de la página y la URL. Estoy confuso porque el lightbox es llamado en la misma página entonces no se como pasar esas variables ya que no puedo utilizar post y action.

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox

 

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