PHP - Problema con variable de formulario

 
Vista:
sin imagen de perfil

Problema con variable de formulario

Publicado por Rosy (68 intervenciones) el 21/11/2018 14:34:49
Hola, llevo un rato largo con el siguiente problema, necesito rescatar un par de variables de un formulario sin embargo cuando pregunto por ella me aparece no definida, pero cuando la muestro con un echo muestra que tiene datos.
Se trata de la variable $v_nomcat, si la muestro con echo muestra que tiene datos, pero sin embargo me aparaece el mensaje : "Error!!...el nombre de la categoria esta vacia" No se que estoy haciendo mal, agradezco cualquier ayuda.
Aca dejo el codigo algo resumido:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
if(isset($_POST['nueva_cat']))
{
	$v_nomcat = $_POST['v_nomcat'];
	$v_pos = $_POST['v_pos'];
 
	echo "VAR ==> " . $v_nomcat;
 
	if( isset($v_nomcat))
	{
		$mensaje = "Error!!...el nombre de la categoria esta vacia";
	}
	else
	{
		$consulta = "INSERT INTO categorias (pos, nomcat) VALUES ( $v_pos, '$v_nomcat')";
		if( $resultado = mysql_query($consulta,$conexion) )
		{
			$mensaje = "La categoria ha sido creada";
		}
		else
		{
			$mensaje = "No se ha podido crear una nueva categoria" . mysql_error();
		}
	}
}
 
 
<form name="selec_cat" action="categorias.php" method="post">
	   <table width="600">
	   <tr>	<th width="200" align="left">Nombre Categoria </th>
	   		<th width="150" align="left"><input type="text" size="25" name="v_nomcat"  value=" <?php echo $v_nomcat; ?>" /></th>
			<th width="200" align="center" >Posicion</th>
	       	<th width="50"  align="left"><input name="v_pos" type="text" size="4" maxlength="4"  width="50" value=" <?php echo $v_pos; ?>" /></th>
	   </tr>
       <tr> <th align="left"> <input type="submit" name="nueva_cat" value="Nueva Categoria" /> </th></tr>
       </table>
	  <?php
		$sql = "select * from categorias order by pos";
		$consulta=mysql_query($sql,$conexion);
	    encabezado();
		while($row=mysql_fetch_array($consulta))
		{?>
		 <tr>
		 <th align="left"><?php echo $row["pos"]; ?> </th>
		 <th align="left"><?php echo $row["nomcat"]; ?> </th>
		 <th width="30"> <a href="categorias.php?idcat=<?php echo $row['idcat'];?>"> <img width="16" src="img/editar.jpg" /> </th>
		 <th width="20"> <img width="16" src="img/eliminar.jpg" /></th>
		 </tr>
		 </form>
		<?php
		}
		?>
 
</form>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con variable de formulario

Publicado por Kathyu (905 intervenciones) el 21/11/2018 16:46:50
Facil, isset es para ver si una variable esta definida, y $v_nomcat lo esta, en ese sentido siempre le dará ese error.

Si quiere comprobar que la variable no este vacía (o rudimentariamente, que el texbox no este vació) utilice
1
2
3
4
5
6
7
8
if(is_null($v_nomcat))
	{
		echo "<br>Error!!...el nombre de la categoria esta vacia";
	}
	else
	{
		echo 'insert !!!';
	}

O hágalo con
1
2
3
4
5
6
7
8
if($v_nomcat == "" )
	{
		echo "<br>Error!!...el nombre de la categoria esta vacia";
	}
	else
	{
		echo 'insert !!!';
	}

Aunque para eso están las funciones como is_null

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Problema con variable de formulario

Publicado por Rosy (68 intervenciones) el 22/11/2018 18:36:14
Gracias por la respuesta, la verdad que despues de escribir el mensaje en LWP me di cuenta del error que estaba cometiendo.
Te agradezco tu respuesta.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar