Foros del Web » Programando para Internet » PHP »

problema $_POST

Estas en el tema de problema $_POST en el foro de PHP en Foros del Web. hola, bueno tengo un problema al momento de usar $_POST, la situación es la siguiente: tengo un formulario con datos dentro de un form al ...
  #1 (permalink)  
Antiguo 02/10/2008, 09:18
Avatar de saito11  
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
problema $_POST

hola, bueno tengo un problema al momento de usar $_POST, la situación es la siguiente:

tengo un formulario con datos dentro de un form al ejecutar el submit va a otra página alli obtengo los datos con $_POST sin problemas, al imprimior con un echo funciona perfectamente, lo que pasa es que todos los campos son obligatorios al momento que el usuario deje un dato en blanco le mustra un window.alert con un mensaje y despues ejecuta un script donde esta esta linea, document.form.submit(), el objetivo es que regrese a la pagina pero que matenga los datos que si habia digitado para evitar digitarlos otra vez, pero me pasa los datos solo con las letras hasta el primer espacio el resto no aparece, espero me entiendan y me puedan ayudar con el codigo que tengo o con alguna otra solución, gracias aqui esta el codigo, un pedazo de el:

formulario.php

<TR><th>Nombre:<th><input type="text" name="nom_cli" onKeyPress="return validarletras(event)" value=<? echo $_POST['nom'];?>><br>
<tr><th>Direccion:<th><input type="text" name="dir_cli" value=<? echo $_POST['dir'];?>><br>
<tr><th>Telefono:<th><input type="text" name="tel_cli" onKeyPress="return validarnum(event)" value=<? echo $_POST['tel'];?>><br>

el submit va a otra página, esto es lo que mas o menos lleva:
<?
aqui se conecta a la base de datos

$nom_cli=$_POST['nom_cli'];
$dir_cli=$_POST['dir_cli'];
$tel_cli=$_POST['tel_cli'];

?>

<form name="form1" method="post" action="formulario.php">
<?
$nombre=$_POST['nom_cli'];
echo "$nombre";//aqui lo imprimo y me imprime bien con los espacios y letras

?>
<input name="dir" type="hidden" value=<?php echo $_POST['nom_cli']; ?>>
<input name="dir" type="hidden" value=<?php echo $_POST['dir_cli']; ?>>
<input name="tel" type="hidden" value=<?php echo $_POST['tel_cli']; ?>>

</form>

<?
if($nom_cli==''||$dir_cli==''||$tel_cli=='')
{
echo "<script> window.alert( 'Debe llenar todos los campos') </script>";
echo "<script>enviar()</script>";
exit;
}
?>

la función enviar lleva lo siguiente:

function enviar(){
document.form1.submit();
}

cualquier ayuda o sugerencia gracias.
  #2 (permalink)  
Antiguo 02/10/2008, 09:22
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: problema $_POST, ayuda por favor

Hola.. tendrias que solo manipular el javascript un forma seria asi ejemplo:

Código HTML:
<script language="JavaScript" type="text/JavaScript">
function Validar(){
	if(document.formulario.dia.value==""){
		alert("Debe de ingresar el día");
		document.formulario.dia.focus();
	}
	else{
	if(document.formulario.mes.value==""){
		alert("Debe de ingresar el mes");
		document.formulario.mes.focus();
	}
	else{	
		if (document.formulario.turno.value=="1"){ 	
			if(document.formulario.txthoraini.value==""){
				alert("Debe de ingresar la hora de inicio");
				document.formulario.txthoraini.focus();
			}else{	
			if(document.formulario.txthorafin.value==""){
				alert("Debe de ingresar la hora de fin");
				document.formulario.txthorafin.focus();
			}
			else{
				document.formulario.submit();
			}	
			}			
		}
		else{
			document.formulario.submit();
		}
	}
	}	
}
</script> 
saludos...
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #3 (permalink)  
Antiguo 02/10/2008, 09:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema $_POST, ayuda por favor

Primero, que es más recomendable usar un input type submit para enviar el formulario, y segundo, que ya que estás usando Javascript, ¿por qué mejor no haces la validación con este y cancelar el envío del formulario?. Lógicamente, por cuestiones de seguridad, también puedes hacer la validación en el servidor.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 02/10/2008, 16:00
Avatar de saito11  
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: problema $_POST, ayuda por favor

hola, gracias por su aporte, ya tome sus sugerencias y me funcionaronaron a la perfección, muchas gracias, eso me soluciona un problema pero el otro es el que necesito con mas urgencia, despues de recoger los datos en el formulario esta va a otro formulario a preguntar otra información, lo que necesito es que si el usuario desea devolverse al formulario anterior se devuelva pero que en los campos aparezca la información que ya digito, que no tenga que volver a digitar, y yo lo hago de cierta manera pero solo me aparece hasta el primer espacio lo demas de desaparece, es decir, si el nombre era pepito perez en el campo nombre solo me aparece pepito el resto no lo muestra, yo lo hago así:

<form name="form" method="post" id="llendo" action="ingresar_cliente.php">
<center><a href="#llendo" onClick="enviar()"><span class="Estilo26"><u>Regresar</u></span></a></center>

<input name=nom type=hidden value=<? echo $_POST['nom_cli']?>>
<input name="dir" type="hidden" value=<? echo $_POST['dir_cli']?>>
<input name="tel" type="hidden" value=<? echo $_POST['tel_cli']?>>
<input name="nnit" type="hidden" value=<? echo $_POST['nit_cli']?>>
<input name="ddv" type="hidden" value=<? echo $_POST['dv_cli']?>>
</form>

espero em entiendan y me puedan ayudar, muchas gracias.
  #5 (permalink)  
Antiguo 02/10/2008, 21:06
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema $_POST

Al escribir parámetros en tags HTML, debes encerrar siempre su contenido en comillas.

Código html:
Ver original
  1. Forma incorrecta:
  2. <input name="ddv" type="hidden" value=<? echo $_POST['dv_cli']?>>
  3.  
  4. Forma CORRECTA:
  5. <input name="ddv" type="hidden" value="<? echo $_POST['dv_cli']?>">

Saludos,
  #6 (permalink)  
Antiguo 03/10/2008, 09:44
Avatar de saito11  
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: problema $_POST

oye mira que el problema todavia sigue aún colocando las comillas, bueno tengo otra pregunta pero no se bien donde hacerla, si me orientan gracias, tengo un código ajax junto php y pues en IE no me funciona y en FireFox si funciona de maravilla, gracias.
  #7 (permalink)  
Antiguo 03/10/2008, 19:58
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema $_POST

Hazla en el subforo de AJAX

Y con respecto a la primera pregunta, por qué no funciona? que no sale? qué sale?

Saludos,
  #8 (permalink)  
Antiguo 05/10/2008, 01:24
Avatar de saito11  
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: problema $_POST

ya lo pude arreglar, era cuestión de comillas, gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:48.