Foros del Web » Programando para Internet » PHP »

Por favor: no consigo que ma valide formulario

Estas en el tema de Por favor: no consigo que ma valide formulario en el foro de PHP en Foros del Web. Hola a todos: Tengo un problemilla con una página que tiene un formulario. Cuando se envía, en ella misma aparece un mensaje de "REGISTRO ACTUALIZADO". ...
  #1 (permalink)  
Antiguo 25/01/2011, 04:33
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
Por favor: no consigo que ma valide formulario

Hola a todos:

Tengo un problemilla con una página que tiene un formulario. Cuando se envía, en ella misma aparece un mensaje de "REGISTRO ACTUALIZADO".

Ahora le añadido código que he encontrado para intentar validarlo: es decir, si no se escribe texto, que aparezca un mensaje.

Pero lo único que he conseguido es que aparezca el mensaje de alerta nada más entrar en la página y, eso sí, si no escribo nada, no manda el mensaje.

Os pongo mi código para ver si me podeis echar un cable. Gracias.

<body>
<?php
//CONECTANDO CON LA BASE DE DATOS
require_once("../incluye/config.php");
require_once("../incluye/funciones.php");
//CONECTAR A LA BASE DE DATOS
$cnx = conectar ();
//SI EL FORMULARIO HA SIDO ENVIADO, SE EDITA EL REGISTRO
if($_POST['submit'] && $_POST['textosomos']!= ""){
$sql = "INSERT INTO somos SET ";
$sql .= "textosomos ='".$_POST['textosomos']."'";
$res = mysql_query($sql) or die(mysql_error());
echo "<tr>
<td class='texto_paginas'>REGISTRO ACTUALIZADO.</td>
<td class='boton_paginas'><a href='somos.php' target='_self'><img src='images/aceptar.png' width='120' height='40' /></a></td>
</tr>
</table><!--FINAL TABLA CONTENIDO -->
</td>
</tr>
</table><!--FINAL TABLA CONTENEDORA -->
</body>
</html>\n";
mysql_close($idcnx);
exit;
}
else {
echo "DEBE INSERTAR TEXTO. Gracias.";
}
?>
<form enctype="multipart/form-data" name="form1" method="post" action="<?echo $_SERVER['PHP_SELF'];?>">
<textarea name="textosomos" cols="100" rows="30" id="textosomos"></textarea>
<input name="submit" type="image" src="images/aceptar.png" value="submit">
</form>
</body>
  #2 (permalink)  
Antiguo 25/01/2011, 07:04
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Por favor: no consigo que ma valide formulario

Deberías conectar a la base luego de comprobar si tienes algún dato recibido y además la condición debe cambiarse a algo como :
Código PHP:
if($_POST['submit'] && $_POST['textosomos']!= "")
// cambiar por
if( isset($_POST['submit']) && isset($_POST['textosomos']) ) 
adicionalmente debes 'limpiar' lo que recibes del formulario para evitar SQL Injections, XSS y demás
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 25/01/2011, 07:45
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
Respuesta: Por favor: no consigo que ma valide formulario

Gracias por tu respuesta "jcxnet" pero me vas a disculpar; no te he entendido, la verdad.

La verdad es que llevo tiempo intentando aprender PHP, y cuando tengo algo de tiempo, y con la ayuda que he ido recibiendo de este for durante bastante tiempo, voy haciendome mis propios ejemplos.

Este tipo de formulario creo que lo saque de algún código que me pusieron por aquí.

El original que hice, simplemente era un formulario para rellenar un texto en l abase de datos. Lo enviabas y en la misma página mostraba el aviso de "REGISTRO ACTUALIZADO". Sin más.

He intentado modificarlo ahora para incluir la validación; es decir, si el campo de texto está vacío, que avise y que no mande el formulario. Todo en la misma página.

Con lo que tu me explicas, la verdad, me he perdido... mil disculpas pero no entiendo que es lo quieres que haga... o si se puede hacer en la misma página.

Gracias de todas formas y un gran saludo:

Javy
  #4 (permalink)  
Antiguo 25/01/2011, 11:02
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
Respuesta: Por favor: no consigo que ma valide formulario

Bueno: he conseguido hacer que funcione de esta manera (por si a álguien le puede venir bién):

if(isset($_POST['textosomos'])){ //textosomos es el textarea
$textosomos = $_POST['textosomos']; //creo la variable
if($textosomos==''){ //si la variable está vacia
echo "rellene texto"; //y no envía el formulario
}else{
//si no, el resto de lo que quiero que muestre
}
}

A mí me funciona perfectamente (a la vista, claro).

Lo que no sé es si habrá algún problema de seguridad como comentaba"jcxnet".

Gracias y un saludo a todos:

Javy

Etiquetas: favor, formulario
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 11:02.