Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema con formulario

Estas en el tema de problema con formulario en el foro de PHP en Foros del Web. Hola chicos Un favor de nuevo, resulta que tenog un formulario aca todo coqueto, que si me esta guardando los datos en la ase de ...
  #1 (permalink)  
Antiguo 21/04/2013, 01:59
 
Fecha de Ingreso: abril-2013
Mensajes: 34
Antigüedad: 11 años, 7 meses
Puntos: 0
problema con formulario

Hola chicos

Un favor de nuevo, resulta que tenog un formulario aca todo coqueto, que si me esta guardando los datos en la ase de datos y tambien me los esta actualizando.

PEEEROOOO cuando voy a crear uno nuevo, me aparece un mensaje en los campos de texto. Sin embargo si me graba y me actualiza!!!!

esta es la imagen



saludos y muchas gracias si quieren que ponga el codigo solo diganme...
  #2 (permalink)  
Antiguo 21/04/2013, 06:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: problema con formulario

Sí, deberías poner el código.

En cualquier caso, lo que te indica es que estás usando en el value variables que no están definidas, una opción es comprobarlas con isset() antes de utilizarlas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 21/04/2013, 12:20
 
Fecha de Ingreso: abril-2013
Mensajes: 34
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: problema con formulario

Ok a ver ahy les va el codigo

El error completo esta asi

Notice: Undefined variable: admin in /Applications/MAMP/htdocs/tienda/producto.php on line 142

OJO SI ME DEJA GRABAR Y ACTUALIZAR!!! que es lo mas curioso

Código PHP:
<?php require_once('Connections/tienda.php'); ?>
<?php
session_start
(); 
    
        if(
$_SESSION['username']==""){ 
            
header('location:index.php');
        }else{
            if(
$_SESSION['tipo_usu']=='a'){
            }else{
                
header('location:index.php');
            }
        }
        include(
'php_conexion.php');
        
$nom="";$des="";$est="s";
        if(empty(
$_GET['codigo'])){
             
$can=mysql_query("SELECT MAX(id) as codigo FROM productos");
             if(
$dato=mysql_fetch_array($can)){
                
$codigo=$dato['codigo']+1
              }
        }else{
            
$codigo=$_GET['codigo'];
            
$can=mysql_query("SELECT * FROM productos WHERE id=$codigo");
             if(
$datos=mysql_fetch_array($can)){
                
$nom=$datos['nom']; 
                
$des=$datos['des'];
                
$est=$datos['estado'];
                
$fondo=$datos['fondo'];
                
$subfondo=$datos['subfondo'];
                
$seccion=$datos['seccion'];
                
$subseccion=$datos['subseccion'];
                
$subserie=$datos['subserie'];
                
$nom_expe=$datos['nom_expe'];
                
$fecha_aper=$datos['fecha_aper'];
                
$fecha_cierr=$datos['fecha_cierr'];
                
$asunto=$datos['asunto'];
                
$unidad=$datos['unidad'];
                
$admin=$datos['admin'];
                
$legal=$datos['legal'];
                
$conta=$datos['conta'];
                
$confi=$datos['confi'];
                
              }
        }
         
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
<title>Editar Metodos de Pagos</title>
<script type="text/javascript" src="js/jquery.js"></script>    
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/whmcs.css" rel="stylesheet">
include "client_header.php";

<style type="text/css">
body {
    background-color: #FFFFFF;
}
</style>
<script src="js/whmcs.js"></script>
</head>
<body>
<div class="whmcscontainer">
       <div class="contentpadded">
        <div class="page-header">
            <div class="styled_title">
              <h1>Nuevo Producto</h1></div>
        </div>
     <form action="php_guardar_producto.php" method="post" enctype="multipart/form-data">
     <table width="100%" border="0">
         <tr>
           <td><p>Codigo del Producto: <?php echo $codigo?><input type="hidden" name="codigo" id="codigo" value="<?php echo $codigo?>"></p></td>
           <td width="56%" rowspan="3"><table width="95%" border="0">
             <tr>
               <td><div align="center">
                 <?php    
              
if (file_exists("foto/".$codigo.".jpg")){ 
                      echo 
'<div align="center"><img src="foto/'.$codigo.'.jpg" width="100" height="100" alt=""></div>';
              }else{ 
                      echo 
'<div align="center"><img src="foto/defecto.png" width="100" height="100" alt=""></div>';
              } 
              
?>
               </div>
              
              
              </td>
             </tr>
             <tr>
               <td>
                <input name="imagen" id="imagen" type="file" class="ui-state-error" size="20" />
            </td>
             </tr>
            <td>
               <p>Sub serie: <br> <input type="text" name="subserie" id="subserie" value="<?php echo $subserie?>"></p>
               <p>Numero de Expediente: <br> <input type="text" name="nom_expe" id="nom_expe" value="<?php echo $nom_expe?>"></p>
               <p>Fecha de Arpertura: <br> <input type="date" name="fecha_aper" id="fecha_aper" value="<?php echo $fecha_aper?>"></p>
                <p>Fecha de Cierre: <br> <input type="date" name="fecha_cierr" id="fecha_cierr" value="<?php echo $fecha_cierr?>"></p>
                <p>Asunto: <br> <input type="text" name="asunto" id="asunto" value="<?php echo $asunto?>"></p>
            </td>
            </tr>
            <td align="right">
               <p>Valor Documental :<br> 
              <INPUT TYPE="radio" NAME="admin" VALUE="s" <?php if($admin=='s'){ echo 'CHECKED'; } ?>> Administrativo
            <INPUT TYPE="radio" NAME="admin" VALUE="n" <?php if($admin=='n'){ echo 'CHECKED'; } ?>> No Administrativo
             &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
          <INPUT TYPE="radio" NAME="legal" VALUE="s" <?php if($legal=='s'){ echo 'CHECKED'; } ?>
          Legal
          <INPUT TYPE="radio" NAME="legal" VALUE="n" <?php if($legal=='n'){ echo 'CHECKED'; } ?>
          No Legal
          <br> 
          
          <INPUT TYPE="radio" NAME="conta" VALUE="s" <?php if($conta=='s'){ echo 'CHECKED'; } ?>> Contable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <INPUT TYPE="radio" NAME="conta" VALUE="n" <?php if($conta=='n'){ echo 'CHECKED'; } ?>
            No Contable
             &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
          <INPUT TYPE="radio" NAME="confi" VALUE="s" <?php if($confi=='s'){ echo 'CHECKED'; } ?>>
          Confidencial
          <INPUT TYPE="radio" NAME="confi" VALUE="n" <?php if($confi=='n'){ echo 'CHECKED'; } ?>> No confidencial
          
          </td>
           </table>
          
          
          
          
          
          </td>
      </tr>
         <tr>
           <td width="44%"><p>Año: <br> <input type="text" name="nom" id="nom" value="<?php echo $nom?>"></p>
        <p>Unidad Administrativa: <br> <input type="text" name="unidad" id="unidad" value="<?php echo $unidad?>"></p>
        <p>Fondo: <br> <input type="text" name="fondo" id="fondo" value="<?php echo $fondo?>"></p>
        <p>Subfondo: <br> <input type="text" name="subfondo" id="subfondo" value="<?php echo $subfondo?>"></p>
        <p>Seccion: <br> <input type="text" name="seccion" id="seccion" value="<?php echo $seccion?>"></p>
        <p>Sub seccion: <br> <input type="text" name="subseccion" id="subseccion" value="<?php echo $subseccion?>"></p></td>
           </tr>
         <tr>
           <td><p>
            Descripcion : <br> <textarea name="des" rows="4" id="des"><?php echo $des?></textarea></p>
             <p>&nbsp;</p>
             <p>Estado : 
               <INPUT TYPE="radio" NAME="estado" VALUE="s" <?php if($est=='s'){ echo 'CHECKED'; } ?>> Activo
            <INPUT TYPE="radio" NAME="estado" VALUE="n" <?php if($est=='n'){ echo 'CHECKED'; } ?>> No Activo
             </p>
            <br></td>
           </tr>
         <tr>
           <td><p><?php if(!empty($_SESSION['f_mensaje'])){ echo $_SESSION['f_mensaje']; }else{ echo 'Digite Bien los datos'; } ?></p></td>
           <td><div align="right">
          <?php if(empty($_GET['codigo'])){
                     echo 
'<input type="submit" name="button" class="btn success" id="button" value="Guardar Producto">';
          }else{
                  echo 
'<input type="submit" name="button" class="btn success" id="button" value="Actualizar Producto">';
          }
          
?>
           </div></td>
         </tr>
       </table>
      </form> 
       </div>
</div>
</div>
</body>
</html>
<?php
mysql_free_result
($Recordset1);
?>
y este es el segundo codigo donde se hacen los INSERT y los UPDATE

Código PHP:
<?php
session_start
(); 
// tamaño 40000
include('php_conexion.php');

error_reporting(0);
$codigo=$_POST['codigo'];
$fondo $_POST['fondo'];
$subfondo $_POST['subfondo'];
$seccion $_POST['seccion'];
$subseccion $_POST['subseccion'];
$subserie $_POST['subserie'];
$nom_expe $_POST['nom_expe'];
$fecha_aper $_POST['fecha_aper'];
$fecha_cierr $_POST['fecha_cierr'];
$unidad $_POST['unidad'];
$asunto $_POST['asunto'];
$admin $_POST['admin'];
$legal $_POST['legal'];
$conta $_POST['conta'];
$confi $_POST['confi'];

$_SESSION['f_mensaje']="Elija una imagen de tipo *.JPG";

$estado=$_POST['estado'];
if(empty(
$_POST['nom'])){    $nom='Sin Asignar';          }else{    $nom=$_POST['nom'];}
if(empty(
$_POST['des'])){    $des='Sin Descripcion';        }else{    $des=$_POST['des'];}
if(empty(
$_POST['unidad'])){    $unidad='Sin Descripcion';        }else{    $unidad=$_POST['unidad'];}

    
$nameimagen $_FILES['imagen']['name'];
    
$tmpimagen $_FILES['imagen']['tmp_name'];
    
$extimagen pathinfo($nameimagen);
    
$ext = array("png","jpg");
    
$urlnueva "foto/".$codigo.".jpg";
    if(
is_uploaded_file($tmpimagen)){
        
copy($tmpimagen,$urlnueva);
    
    }

$can=mysql_query("SELECT * FROM productos WHERE id=$codigo");
if(
$datos=mysql_fetch_array($can)){
    
$sql="Update productos Set nom='$nom', des='$des', estado='$estado', fondo='$fondo', subfondo='$subfondo', seccion='$seccion', subseccion='$subseccion', subserie='$subserie', nom_expe='$nom_expe', fecha_aper='$fecha_aper', fecha_cierr='$fecha_cierr', unidad='$unidad', asunto='$asunto', admin='$admin', legal='$legal', conta='$conta', confi='$confi' WHERE id=$codigo";
    
mysql_query($sql);
    
$_SESSION['f_mensaje'] = "Se ha Actualizado Perfectamente";
    
header('location:lista_productos.php');
}else{
    
$sql="INSERT INTO productos (id, nom, unidad, des, estado, fondo, subfondo, seccion, subseccion, subserie, nom_expe, fecha_aper, fecha_cierr, asunto, admin, legal, conta, confi ) VALUES ($codigo, '$unidad', '$nom','$des','$estado', '$fondo', '$subfondo', '$seccion', '$subseccion', 'subserie', '$nom_expe', '$fecha_aper', '$fecha_cierr', '$asunto', '$admin', '$legal', '$conta', '$confi')";
    
mysql_query($sql);
    
$_SESSION['f_mensaje'] = "Se ha Guardado Perfectamente";
    
header('location:producto.php');
}

?>
Muchas GRacias
  #4 (permalink)  
Antiguo 21/04/2013, 12:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: problema con formulario

El mensaje es claro, estás usando la variable $admin que no fue iniciada, ya que solo le asignas un valor cuando hay se va a actualizar un registro existente.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 21/04/2013, 12:43
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 17 años, 1 mes
Puntos: 80
Respuesta: problema con formulario

Tu en los campos input en la propiedad value pones <?php echo $codigo; ?>,
al ser un nuevo registro dichas variables están sin definir, por lo cual te envia el error.

Como dice David debes de verificar el Valor de la variable antes.
Por ejemplo:
Código PHP:
Ver original
  1. $codigo = isset($codigo)? $codigo : '';

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #6 (permalink)  
Antiguo 23/04/2013, 00:00
 
Fecha de Ingreso: abril-2013
Mensajes: 34
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: problema con formulario

Dejenme ver si entendi, tengo que volver a declarar mis variables pero con el formato de

$codigo = isset($codigo)? $codigo : '';

osea

$admin = isset($admin)? $admin : '';
$legal = isset($legal)? $legal : '';
$conta = isset($conta)? $conta : '';
.
.
.
.etc...???

saludos y muchas gracias
  #7 (permalink)  
Antiguo 23/04/2013, 00:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: problema con formulario

Depende de dónde pongas ese código, en todo caso, podría ser directamente aquí:
Código PHP:
Ver original
  1. value="<?php echo isset($subserie) ? $subserie : ''; ?>"
Así para todos los campos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 23/04/2013, 01:06
 
Fecha de Ingreso: abril-2013
Mensajes: 34
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: problema con formulario

David!! eres un genio

ya me quedo super bien, solo tengo otro problem, en los Radio, me aparece lo mismo, hay como utilizo el (isset) ya que es una validacion??

ejemplo

<INPUT TYPE="radio" NAME="admin" VALUE="s" <?php if($admin=='s'){ echo 'CHECKED'; } ?>> Administrativo


<INPUT TYPE="radio" NAME="admin" VALUE="n" <?php if($admin=='n'){ echo 'CHECKED'; } ?>> No Administrativo

Saludos y muchas gracias.
  #9 (permalink)  
Antiguo 23/04/2013, 01:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: problema con formulario

Algo como esto:
Código PHP:
Ver original
  1. echo (isset($admin) && $admin == 's') ? 'checked' : '';
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 23/04/2013, 16:39
 
Fecha de Ingreso: abril-2013
Mensajes: 34
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: problema con formulario

Me esta dando un error

Parse error: syntax error, unexpected end of file in /Applications/MAMP/htdocs/tienda/producto.php on line 214

y en la linea tengo esto

<INPUT TYPE="radio" NAME="admin" VALUE="s" <?php if($admin=='s'){ echo (isset($admin) && $admin == 's') ? 'checked' : '';?>> Administrativo

saludos
  #11 (permalink)  
Antiguo 23/04/2013, 16:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: problema con formulario

Ese if ($admin == 's') { ya sobra, la condición ya está en el operador ternario.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 24/04/2013, 01:16
 
Fecha de Ingreso: abril-2013
Mensajes: 34
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: problema con formulario

David

Muchas gracias por tu apoyo tus consejos me fueron de mucha ayuda..

saludos

Etiquetas: 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 12:53.