Foros del Web » Programando para Internet » PHP »

Problema php

Estas en el tema de Problema php en el foro de PHP en Foros del Web. Hola, soy nuevo en el foro y muy poca experiencia en la programacion en php, tengo un problema, hice un codigo en la uni y ...
  #1 (permalink)  
Antiguo 27/07/2011, 13:43
 
Fecha de Ingreso: julio-2011
Mensajes: 15
Antigüedad: 12 años, 8 meses
Puntos: 2
Problema php

Hola, soy nuevo en el foro y muy poca experiencia en la programacion en php, tengo un problema, hice un codigo en la uni y en esas computadoras si me funcionaba, mas en mi laptop no funciona del todo bien. les muestro el codigo

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<?php
   
if ($_POST['guardar']) {
  
$idConn=mysql_connect('localhost','root','');
  if (!
'idConn'){
 die(
"Conexion Fallida");
  }
  echo
"Conectado al Servidor";
  echo
"<br>";
//mysql_select_db($db,$idConexion)
$bd='julian';
  
$dbSelect=mysql_select_db($bd,$idConn);

  if (!
$dbSelect){
 die(
"conexion fallida");
  }
  echo 
"conectado a: $bd";
  echo
"<br>";
    
// if ( !empty($_POST['submit']) ) {
 
$consulta="insert into $bd.libros(codigo_lib,titulo_lib,editorial_lib,autor_lib,ano_edicion,no_paginas,desc_lib)values('{$_POST ['tCodigo']}','{$_POST ['tTitulo']}','{$_POST ['tEditorial']}','{$_POST ['tAutor']}','{$_POST ['tAno_edicion']}','{$_POST ['tN_paginas']}','{$_POST ['tDescripcion']}')";
  
$response mysql_query($consulta$idConn);
 
// }
  
if(!$response){
  die(
"no guarda");
  }
   }


       if(
$_POST['consultar']){
       
//mysql_connect ('host','userid','password')
  
$idConn=mysql_connect('localhost','root','');
  if (!
'idConn'){
 die(
"Conexion Fallida");
  }
  echo
"Conectado al Servidor";
  echo
"<br>";
//mysql_select_db($db,$idConexion)
$bd='julian';
  
$dbSelect=mysql_select_db($bd,$idConn);

  if (!
$dbSelect){
 die(
"conexion fallida");
  }
  echo 
"conectado a: $bd";
  
$cod$_REQUEST['tCodigo'];
  
$consulta="select titulo_lib,editorial_lib,autor_lib,ano_edicion,no_paginas,desc_lib from $bd.libros where codigo_lib='$cod'";
  
$resultado mysql_query($consulta);//puede ser para editar, borrar etc, segun modifiquemos los parametros
echo "<h2 align=center>Catalogo</h2>";

if(
mysql_num_rows($resultado)>0){
    
$registro=mysql_fetch_array($resultado);
    
$titulo=$registro[0];
    
$editorial=$registro[1];
    
$autor=$registro[2];
    
$ano_editorial=$registro[3];
    
$n_pagina$registro[4];
    
$desc$registro[5];
                         }   else echo 
"Codigo no registrado";

/*while($mostrar=mysql_fetch_row($cons)){
echo "<p>Codigo:</p> ".$mostrar[0]."<br><br>";
echo "Titulo: ".$mostrar[1]."<br><br>";
echo "Editorial: ".$mostrar[2]."<br><br>";
echo "Autor: ".$mostrar[3]."<br><br>";
echo "Año de edcion: ".$mostrar[4]."<br><br>";
echo "Numero de Paginas: ".$mostrar[5]."<br><br>";
echo "Descripcion: ".$mostrar[6]."<br><br>";
}       */
 // mysql_close($idConn);
       
}

          if(
$_POST['editar']){
           
$idConn=mysql_connect('localhost','root','');
  if (!
'idConn'){
 die(
"Conexion Fallida");
  }
  echo
"Conectado al Servidor";
  echo
"<br>";
//mysql_select_db($db,$idConexion)
$bd='julian';
  
$dbSelect=mysql_select_db($bd,$idConn);

  if (!
$dbSelect){
 die(
"conexion fallida");
  }
  echo 
"conectado a: $bd";
  echo
"<br>";
  
$cod$_REQUEST['tCodigo'];
    
// if ( !empty($_POST['submit']) ) {
   
$titulo$_POST['tTitulo'];
  
$editorial$_POST['tEditorial'];
  
$autor$_POST['tAutor'];
  
$anoedic$_POST['tAno_edicion'];
  
$nopag$_POST['tN_paginas'];
  
$desc$_POST['tDescripcion'];
  
$actualizar="Update $bd.libros Set codigo_lib='$cod',titulo_lib='$titulo' ,editorial_lib='$editorial',autor_lib='$autor',ano_edicion='$anoedic',no_paginas='$nopag',desc_lib='$desc' where codigo_lib='$cod'";
 
// $listo=Consulta($actualizar);
 //$consulta="update $bd.libros setcodigo_lib='$_POST ['tCodigo']',titulo_lib='$_POST ['tTitulo']' ,editorial_lib='$_POST ['tEditorial']',autor_lib='$_POST ['tAutor']',ano_edicion='$_POST ['tAno_edicion']',no_paginas='$_POST ['tN_paginas']',desc_lib='$_POST ['tDescripcion']' where codigo_lib='$cod'";
 
$response mysql_query($actualizar$idConn);
 
// }
  
if(!$response){
  die(
"no edita");
  }   echo 
'<script>alert ("Datos modificados.");</script>';
        }

         if(
$_POST['borrar']){
         
$idConn=mysql_connect('localhost','root','');
  if (!
'idConn'){
 die(
"Conexion Fallida");
  }
  echo
"Conectado al Servidor";
  echo
"<br>";
//mysql_select_db($db,$idConexion)
$bd='julian';
  
$dbSelect=mysql_select_db($bd,$idConn);

  if (!
$dbSelect){
 die(
"conexion fallida");
  }
  echo 
"conectado a: $bd";
  echo
"<br>";
  
$cod$_REQUEST['tCodigo'];
    
// if ( !empty($_POST['submit']) ) {
   //$titulo= $_POST['tTitulo'];
 // $editorial= $_POST['tEditorial'];
 // $autor= $_POST['tAutor'];
  //$anoedic= $_POST['tAno_edicion'];
  //$nopag= $_POST['tN_paginas'];
  //$desc= $_POST['tDescripcion'];
  
$eliminar="delete from $bd.libros where codigo_lib='$cod'";
 
// $listo=Consulta($actualizar);
 //$consulta="update $bd.libros setcodigo_lib='$_POST ['tCodigo']',titulo_lib='$_POST ['tTitulo']' ,editorial_lib='$_POST ['tEditorial']',autor_lib='$_POST ['tAutor']',ano_edicion='$_POST ['tAno_edicion']',no_paginas='$_POST ['tN_paginas']',desc_lib='$_POST ['tDescripcion']' where codigo_lib='$cod'";
 
$response mysql_query($eliminar$idConn);
 
// }
  
if(!$response){
  
//die("no borra");
  
echo '<script>alert ("Imposible Eliminar, por favor intente nuevamente.");</script>';
  }  else echo 
'<script>alert ("Datos borrados");</script>';
         }
  
?>
  <h1><p align="center">LIBROS</p></h1>
<body bgcolor="#FFFFFF">

<form action="Acciones.php" name="datos" method="post">
      Codigo:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="tCodigo" value= "<?echo $cod?>"size="20" />  <br><br>
      Titulo:&nbsp;&nbsp;&nbsp;<input type="text" name="tTitulo" value="<?echo $titulo?>" size="20" readonly="yes"/>   <br><br>
       Editorial:&nbsp;&nbsp;&nbsp;<input type="text" name="tEditorial"value="<?echo $editorial?>" size="20" readonly="yes"/>   <br><br>
       Autor: &nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="tAutor" value="<?echo $autor?>"size="20" readonly="yes"/>  <br><br>
       Año de edicion: &nbsp;&nbsp;<input type="text" name="tAno_edicion" value="<?echo$ano_editorial?>"size="20" readonly="yes"/>  <br><br>
       Numero de paginas:  &nbsp;&nbsp;<input type="text" name="tN_paginas" value="<?echo$n_pagina?>"size="20" readonly="yes"/>  <br><br>
       Descripcion:&nbsp;&nbsp; <input type="text" name="tDescripcion" value="<?echo$desc?>"size="20" readonly="yes"/>   <br><br>
    <input type="submit" name="guardar" value="Guardar" />
        <input type="submit" name="consultar" value="Consultar" />
         <input type="submit" name="editar" value="Editar" />
          <input type="submit" name="borrar" value="Borrar" />
  </body>
  </html>
ahora este archivo recibe los datos de un formulario html que es el siguiente.
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>
/*<link href="estilo1.css" rel="stylesheet" type="text/css">       */
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
   <div id="menu">
<form action="Acciones.php" name="datos" method="post">
      Codigo:<br>&nbsp;&nbsp;<input type="text" name="tCodigo" size="20" /> <br><br>
      Titulo:<br>&nbsp;&nbsp;<input type="text" name="tTitulo" size="20" /> <br><br>
       Editorial:<br>&nbsp;&nbsp;<input type="text" name="tEditorial" size="20" /> <br><br>
       Autor:<br> &nbsp;&nbsp;<input type="text" name="tAutor" size="20" /> <br><br>
       Año de edicion:<br> &nbsp;&nbsp;<input type="text" name="tAno_edicion" size="20" /> <br><br>
       Numero de paginas:<br> &nbsp;&nbsp;<input type="text" name="tN_paginas" size="20" /> <br><br>
      Descripcion:<br>&nbsp;&nbsp; <textarea name="tDescripcion" rows="4" cols="20"></textarea> <br><br>
       <input type="submit" name="guardar" value="Guardar" />
        <input type="submit" name="consultar" value="Consultar" />
         <input type="submit" name="editar" value="Editar" />
          <input type="submit" name="borrar" value="Borrar" />
     </form> </div>
</body>
</html> 
segun el evento que se genere los ciclos if deberian ejecutar la accion pertinente; si bien, los datos se guardan en la base de datos, el formulario que se muestra en el archivo php el cual deberia servir para mostrar los datos que se consulten solo muestra el codigo php con el cual anteriormente mostraba los datos de la consulta, espero haberme explicado bien y puedan ayudarme, un saludo y gracias de antemano
  #2 (permalink)  
Antiguo 27/07/2011, 14:49
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Problema php

Creo que el problema está en los tags de apertura de php

<?echo $titulo?>

debería ser así

<?php echo $titulo; ?>

Algunos servidores lo aceptan y otros no


acostumbrete siempre en ponerlo asi <?php y un escaio, que no quede pegado asi
<?phpecho

y siempre al final un punto y coma $titulo; ?>


Saludos
__________________
la la la
  #3 (permalink)  
Antiguo 27/07/2011, 18:05
 
Fecha de Ingreso: julio-2011
Mensajes: 15
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Problema php

amigo, debo decir que llevo tiempo tratando de solucionar ese problema y bueno, que facil me lo has puesto; de verdad muchas gracias, eres todo un crack! si hubiera un boton para agradecer lo usaria tambien jajajaja;

aunque aun tengo un problemilla con este codigo que olvide mencionar; me arroja lo siguiente

Notice: Undefined index: guardar in F:\wamp3\www\prueba\Acciones.php on line 12

Notice: Undefined index: editar in F:\wamp3\www\prueba\Acciones.php on line 81

Notice: Undefined index: borrar in F:\wamp3\www\prueba\Acciones.php on line 115

eso es en la condicion de los ciclos if, aparentemente me toma la condicion como un arreglo mal definido, pero no encuentro manera de acomodarlo... obviamente por desconocer el codigo...

muchas gracias por tu tiempo y por tu ayuda!

P.D. si tienes ademas me refieres algun buen manual de php te estaria aun mas agradecido.
  #4 (permalink)  
Antiguo 27/07/2011, 19:11
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Problema php

Si, el error es similar, en algunos servidores te va a pasar y en otros no, tenes que primero ver si existe la variable

cambiar esto
if($_POST['borrar'])

por esto:

if(isset($_POST['borrar']))


El isset comprueba si existe la variable.

Aunque el codigo se ejecuta sin problemas, puesto que no son errores, son algo así como advertencias, reemplazá en cada linea que te dá el error

Acciones.php on line 12
Acciones.php on line 81
Acciones.php on line 115


Tambien hay una forma de no mostrar esas Notice desde el php.ini Creo, pero es mejor hacer el codigo con los isset(), tambien te dará estos Notice en otras oportunidades que ya verás


Saludos
__________________
la la la
  #5 (permalink)  
Antiguo 28/07/2011, 09:00
 
Fecha de Ingreso: julio-2011
Mensajes: 15
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Problema php

Vaya, efectivamente... ya no muestra las notificaciones colocando el isset.
Miles de gracias nuevamente. Es un privilegio para un foro tener usuarios como tu; gracias por tu amabilidad y conocimientos.

Saludos y exito!
  #6 (permalink)  
Antiguo 28/07/2011, 09:04
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Problema php

Me alegro que te haya servido.
Me gusta ayudar a los demas, así como me ayudaron a mi cuando empecé con esto de php

Saludos
__________________
la la la

Etiquetas: html, mysql, registro, sql, 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 19:19.