Foros del Web » Programando para Internet » PHP »

Notice: Undefined index: variable---------URGENTE

Estas en el tema de Notice: Undefined index: variable---------URGENTE en el foro de PHP en Foros del Web. Hola que tal.. estoy desesperado ya que maniana es mi examen de este proyecto... Lo que pasa es que cuando trabaje localmente con mi proyecto ...
  #1 (permalink)  
Antiguo 11/02/2010, 15:17
 
Fecha de Ingreso: noviembre-2009
Mensajes: 110
Antigüedad: 15 años
Puntos: 1
Notice: Undefined index: variable---------URGENTE

Hola que tal.. estoy desesperado ya que maniana es mi examen de este proyecto... Lo que pasa es que cuando trabaje localmente con mi proyecto todo funcionaba de las 1000 maravillas pero ahora que lo monte a un servidor me manda estos mensajes...

Notice: Undefined index: select1 in /var/www/html/intranet-capital/servicios/administrativo/RecHumanos/ABC/Secretarias.php on line 51

Notice: Undefined index: txtNom in /var/www/html/intranet-capital/servicios/administrativo/RecHumanos/ABC/Secretarias.php on line 54

Notice: Undefined index: txtborrar in /var/www/html/intranet-capital/servicios/administrativo/RecHumanos/ABC/Secretarias.php on line 55

Notice: Undefined index: btnBorrar in /var/www/html/intranet-capital/servicios/administrativo/RecHumanos/ABC/Secretarias.php on line 56
SELECT * FROM Secretarias
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/intranet-capital/servicios/administrativo/RecHumanos/ABC/Secretarias.php on line 83

No se que tengo que hacer o que ande mal..

Aqui les va el codigo

<table width="631" border="0">
<tr>
<td colspan="4" class="tituloseccion"><div align="center">Cat&aacute;logo de Secretarias </div></td>
</tr>
<tr>
<td colspan="4">&nbsp;</td>
</tr>
<tr>
<td width="149">&nbsp;</td>
<td colspan="2" class="titulo">Secretaria: </td>
<td width="166">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2" class="fndInput">
<?php

$nueva = $_POST['select1'];
echo mysql_error($link);
// $nom = "";
$nom = $_POST['txtNom'];
$nomborrar = $_POST['txtborrar'];
$borrar = $_POST['btnBorrar'];



/*echo "<h2> <font color=blue> ";
echo "btnborrar = '" . $borrar . "' ";
echo "</font></h2><p></p>";*/

if ($nueva == "nueva" and $nom != "") {
$sql = "INSERT INTO secretarias (Id, Valor) VALUES(null, '". $nom ."') " ;
echo $sql;
$id = mysql_query($sql, $link);
}


if ($borrar == "borrar") {
$sql = "DELETE FROM secretarias WHERE Valor = '". $nomborrar ."' " ;
$id = mysql_query($sql, $link) or die ("Error de sentencia");
}

// Esto solo es para llenar el combo

//primero ver si la coneccion fue exitosa
if ($link) {
$sql = "SELECT * FROM Secretarias" ;
echo $sql;
$id = mysql_query($sql, $link);

$n = mysql_num_rows($id); //echo "<p> filas encontradas= $n </p>";

$Select1 = ""; //Inicializamos $Select1 como vacio

for ($i=0; $i<$n; $i++) { //hasta que i sea menor a $n (filas encontradas)
$fila = mysql_fetch_array($id); // va a sacar de uno en uno lo de la consulta y lo va a gregando en $fila
$sec = $fila['Valor'] ; //Obtiene el contenido de cada fila y lo agrega a $sec(Secretaria)

$Select1 .= "<option value='" . $sec ."' >"; //imprimimos el valor de $sec en una opcion de un select
$Select1 .= $fila['Valor'] . "<br>";
$Select1 .= "</option> ";

}//fin for
}//fin if
?>

<form name="Fagregar" method="post" action="Secretarias.php">

<select name="select1" onchange="cambioNombre(Fagregar.select1.value);">
<option value="nueva" > ...Seleccione una </option>
<?php echo $Select1; ?>
</select>

<tr>
<td>&nbsp;</td>
<td colspan="2">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2" class="titulo">Nombre de la Secretaria </td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2" class="fndInput">
<input name="txtNom" type="text" size="50" /> </td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td width="3"></td>
<td width="295">

<input type="submit" name="btnAgregar" value="Agregar" />
</form>

<form name="Fborrar" method="post" action="Secretarias.php">
<input name="txtborrar" type="hidden" size="50">
<input type="submit" name="btnBorrar" value="borrar" />
</form>


De verdada agradeceria me ayudaran que ya estoy muy desesperado....La lineas negritas son las que me marca esos mensajes
  #2 (permalink)  
Antiguo 12/02/2010, 21:40
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Notice: Undefined index: variable---------URGENTE

Hola
Bueno, pues me atrevo a decir que la mayoría es porque inicializas variables en if, cuando deberia ser al inicio
Por ej
$Select1 esta inicializada en el if($link)
pasa esa inicialización antes de cualquier if, es más, dejalo al inicio.
y así con las demás
y en el for, tienes que $i sea menor a $n, pero que pasa si es igual?
revisa eso y nos comentas
saludos
  #3 (permalink)  
Antiguo 13/02/2010, 10:13
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Notice: Undefined index: variable---------URGENTE

Hola que tal, eh en primera, cuando publiques codigo de cualquier lenguaje utiliza sus respectivos tags para presentarlo de la mejor forma...

Ahora, los errores en las lineas 51, 54, 55, 56, son porque no obtienes el valor de las variables $_POST, una de dos, o la pagina no ah sido llamada mediante POST o estan mal los nombres de los componentes form, el error de la linea 83 es porque no se ah realizado una conexion o al menos el identificador indicado no es correcto, viendo tu codigo cachas la conexion en la variable $link, pero donde haces $link = mysql_connect ¿?, en el codigo que muestras en ningun momento realizas la conexion....

PD: mortiprogramador, eso no tiene nada que ver, en PHP puedes iniciar una variable donde sea, y en el for puedes utilizar los operadores de comparacion menor que, mayor que, menor o igual que y mayor o igual que, no es necesario u obligatorio utilizar una u otra opcion
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 13/02/2010, 12:15
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Notice: Undefined index: variable---------URGENTE

Y esto debería ser al revés . Tú tienes:
Código PHP:
Ver original
  1. for ($i=0; $i<$n; $i++) { //hasta que i sea menor a $n (filas encontradas)
  2. $fila = mysql_fetch_array($id); // va a sacar de uno en uno lo de la consulta y lo va a gregando en $fila
Debería ser:
Código PHP:
Ver original
  1. $fila = mysql_fetch_array($id); // va a sacar de uno en uno lo de la consulta y lo va a gregando en $fila
  2. for ($i=0; $i<$n; $i++) { //hasta que i sea menor a $n (filas encontradas)
Aunque te puedes ahorrar el for y $n así:
Debería ser:
Código PHP:
Ver original
  1. while($fila = mysql_fetch_array($id)){
  2. //mira qué simple, y va a hacer lo mismo que tú tienes, mientras haya registros en el array $fila
  3. }
salyudos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 13/02/2010, 13:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Notice: Undefined index: variable---------URGENTE

Cita:
Iniciado por CHuLoSoY Ver Mensaje
Y esto debería ser al revés . Tú tienes:
Código PHP:
Ver original
  1. for ($i=0; $i<$n; $i++) { //hasta que i sea menor a $n (filas encontradas)
  2. $fila = mysql_fetch_array($id); // va a sacar de uno en uno lo de la consulta y lo va a gregando en $fila
Debería ser:
Código PHP:
Ver original
  1. $fila = mysql_fetch_array($id); // va a sacar de uno en uno lo de la consulta y lo va a gregando en $fila
  2. for ($i=0; $i<$n; $i++) { //hasta que i sea menor a $n (filas encontradas)
Aunque te puedes ahorrar el for y $n así:
Debería ser:
Código PHP:
Ver original
  1. while($fila = mysql_fetch_array($id)){
  2. //mira qué simple, y va a hacer lo mismo que tú tienes, mientras haya registros en el array $fila
  3. }
salyudos.
el for() antes del mysql_fetch_array() es correcto... o me estoy equivocando?

y si, en resumen el while() hace lo mismo... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 13/02/2010, 13:22
 
Fecha de Ingreso: enero-2010
Mensajes: 152
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Notice: Undefined index: variable---------URGENTE

ok, segun tus errores, undefined es porque las variables no están definidas. En cierto modo es normal y lo que deberías arreglar es el PHP.ini para ver el ivel de errores mostrados.

Por otro lado en estas líneas:


Código PHP:
Ver original
  1. $sql = "SELECT * FROM Secretarias" ;
  2. echo $sql;
  3. $id = mysql_query($sql, $link);

Estás seguro de que la tabla Secretarias existe en la base de datos donde estás buscando???? porque por ningún lado veo que inicies $link) o que selecciones la base de datos a donde se conectará.
  #7 (permalink)  
Antiguo 14/02/2010, 16:03
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Notice: Undefined index: variable---------URGENTE

Hola
Bueno, pues aunque bien no importe donde se inicializen las variables,
php lee todo el script y al no tener en ambito inicial las variables,
es por eso que da esos errores
por eso es que sugeri lo que comente anteriormente...
en fin, esperemos a ver que comenta el personaje inicial del post
saludos

Etiquetas: index, undefined
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 14:10.