Foros del Web » Programando para Internet » PHP »

Error - Variables PHP

Estas en el tema de Error - Variables PHP en el foro de PHP en Foros del Web. Soy nuevo en PHP. Estoy haciendo un formulario que guarda ciertos datos ingresados pero me aparece el siguiente error al momento de cargarlo Código: Notice: ...
  #1 (permalink)  
Antiguo 06/09/2010, 11:59
 
Fecha de Ingreso: agosto-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Error - Variables PHP

Soy nuevo en PHP. Estoy haciendo un formulario que guarda ciertos datos ingresados pero me aparece el siguiente error al momento de cargarlo

Código:
Notice: Undefined index: opt in C:\wamp\www\Formulario PHP\index.php on line 6
Siendo este mi código php:

Código PHP:
<?php

$bd
=mysql_connect("localhost","root","miContraseña") or die("No se puede establecer la conexión");
mysql_select_db("formulario");

$opt=$_GET['opt'];
if(isset(
$opt)==1)
{
$nombre=$_GET['nombre'];
$email=$_GET['email'];
$empresa=$_GET['empresa'];
$tipoEmpresa=$_GET['tipoEmpresa'];
$cargo=$_GET['cargo'];
$telefono=$_GET['telefono'];
$ciudadPais=$_GET['ciudadPais'];
$aplicacion=$_GET['aplicacion'];
    
$sql="insert into inscripcion(nombre, email, empresa, tipoEmpresa, cargo, telefono, ciudadPais, aplicacion) values ('".$nombre."','".$email."','".$empresa."','".$tipoEmpresa."','".$cargo."','".$telefono."','".$ciudadPais."','".$aplicacion."')";
$res=mysql_query($sql,$bd) or die(mysql_error());
}
?>
Esta es la variable declarada en el código html:

Código HTML:
...
<body>
<input type="hidden" name="opt">
<form class="f" id="form1" name="f" method="post" action="">
  <p><strong>Formulario </strong></p>
  <p>&nbsp;</p>
...
Alguien que me pueda ayudar a solucionar este error, o en su defecto brindarme una alternativa de solución para poder guardar mis datos en mi BD(disculpen soy nuevo en esto).

Gracias
  #2 (permalink)  
Antiguo 06/09/2010, 12:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error - Variables PHP

el error es simple... dicha variable aún no existe, por ende no puedes usarla...

estas variables GET/POST solo existen en determinados escenarios, es irresponsable hacer uso de estas sin algún fundamento...

Código PHP:
// MAL
$opt=$_GET['opt'];
if(isset(
$opt)==1

// BIEN
$opt=isset($_GET['opt'])? $_GET['opt']: FALSE;
if(
$opt == 1
¿si notas las diferencias?

en dicho caso, la variable solo existiría si en la URL sale ?opt=1

y por obvias razones puedo asegurar que no existe dicha información en la URL, por ende no existe la variable, que finalmente provoca el error...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/09/2010, 12:55
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Error - Variables PHP

Sin mencionar que el input hidden está fuera del formulario.
  #4 (permalink)  
Antiguo 06/09/2010, 13:01
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Error - Variables PHP

lo que dicen es cierto...y se reduce a que.....no estas enviando la variable ya que esta fuera del formulario....para poderlo enviar con el evento submit....es necesario que bien este dentro del formulario o uses otra forma de enviarla........puede ser con ?.....
intenta meter el objeto hidden dentro del form =) XD

Animo...asi vamos aprendiendo..=)
  #5 (permalink)  
Antiguo 06/09/2010, 13:06
 
Fecha de Ingreso: agosto-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error - Variables PHP

ok. Gracias por las observaciones

Ya he corregido los errores, pero ahora los datos que vienen de mi formulario no se graban en mi base de datos, adicionalmente mi hoja de estilos no está siendo tomada en cuenta.

Este es el código ya con las respectivas correcciones:

Código HTML:
...
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulario</title>
<link rel="stylesheet" type="text/css" href="file:///C:/wamp/www/Formulario PHP/estilos.css" />
<script language="javascript">
	function verifica()
	{
		if(f.email.value=="")
		{
			alert("Por favor ingrese el email");
			return;
		}
		f.opt.value=1;
		f.submit();
	}
</script>
</head>

<body>
<form class="f" id="form1" name="f" method="post" action="">
  <input type="hidden" name="opt">
  <p><strong>Formulario</strong></p>
  <p>&nbsp;</p>
...

Código PHP:
<?php

$bd
=mysql_connect("localhost","root","admin") or die("No se puede establecer la conexión");
mysql_select_db("formulario");

$opt=isset($_GET['opt'])? $_GET['opt']: FALSE;
if(
$opt==1)
{
$nombre=$_GET['nombre'];
$email=$_GET['email'];
$empresa=$_GET['empresa'];
$tipoEmpresa=$_GET['tipoEmpresa'];
$cargo=$_GET['cargo'];
$telefono=$_GET['telefono'];
$ciudadPais=$_GET['ciudadPais'];
$aplicacion=$_GET['aplicacion'];
    
$sql="insert into inscripcion(nombre, email, empresa, tipoEmpresa, cargo, telefono, ciudadPais, aplicacion) values ('".$nombre."','".$email."','".$empresa."','".$tipoEmpresa."','".$cargo."','".$telefono."','".$ciudadPais."','".$aplicacion."')";
$res=mysql_query($sql,$bd) or die(mysql_error());
}
?>
en que puedo estar fallando?
  #6 (permalink)  
Antiguo 06/09/2010, 13:52
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Error - Variables PHP

Fallan varias cosas, para empezar, indicas al formulario pasar los datos por post, pero luego los buscas con get, o una cosa u otra.

Lo de los estilos, posiblemente sea por que usas rutas absolutas y con espacios, usa rutas relativas y sin espacios, o al menos, cambia los espacios por %20

Saludos.
  #7 (permalink)  
Antiguo 06/09/2010, 14:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error - Variables PHP

Cita:
Iniciado por DooBie Ver Mensaje
Sin mencionar que el input hidden está fuera del formulario.
y que el método del formulario es POST, por lo tanto debería usarse $_POST y no $_GET
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 06/09/2010, 14:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP orientado a objetos a PHP
  #9 (permalink)  
Antiguo 06/09/2010, 15:04
 
Fecha de Ingreso: agosto-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error - Variables PHP

todo solucionado, cambié el método POST del formulario por GET... ya grabo los registros... pero como pequeño detalle se están grabando dos veces el mismo registro, a que se puede deber esto?

Etiquetas: variables
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 16:06.