Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2016, 22:37
Claudioldea
 
Fecha de Ingreso: abril-2016
Mensajes: 2
Antigüedad: 8 años
Puntos: 0
Pregunta Problema con Undefined index

Hola soy nuevo en php y tengo el siguiente problema. Estoy haciendo un formulario de contacto el cual estoy validando con php los campos y al momento de abrir el archivo me sale este error
Notice: Undefined index: imp in C:\xampp\htdocs\contacto\testcap.php on line 3

estoy tratando de no perder los datos que el usuario ingreso al momento de validar, el problema se arregla al momento de apretar "enviar" (sin necesidad de llenar los campos), alguien me podría ayudar a
quitar este problema.

les dejo el código:



Código PHP:
<?php
session_start
();
$imprimir=$_SESSION['imp'];
?>
<body>
<?php
if(isset($_SESSION['exito']))
{
    echo 
"<center><p><font color='blue'>".$_SESSION['exito']."</font></p></center>";
}else
{
    echo
"";
}
unset(
$_SESSION['exito']);
?>
<form name="frm" action="enviar.php" method="post">
  <table width="auto" border="0">
    <tr>
      <td><span class="red">*</span> Nombre </td>
      <td><input name="nombre" type="text" maxlength="30" onkeypress="return validaLetras(event)" value="<?php echo $imprimir['nombre'];?>"/>
      <?php
      
if (isset($_SESSION['error1']))
      {
          echo 
"<span class='red'>".$_SESSION['error1']."</span>";
      }else
      {
        echo
"";
      }
      unset(
$_SESSION['error1']);
      
?>
      </td>
    </tr>
    <tr>
      <td><span class="red">*</span> Apellidos </td>
      <td><input name="apellidos" type="text" maxlength="40" onkeypress="return validaLetras(event)" value="<?php echo $imprimir['apellidos'];?>" />
      <?php
      
if (isset($_SESSION['error2']))
      {
          echo 
"<span class='red'>".$_SESSION['error2']."</span>";
      }else
      {
        echo
"";
      }
      unset(
$_SESSION['error2']);
      
?></td>
    </tr>
    <tr>
      <td><span class="red">*</span> Rut </td>
      <td><input name="rut" type="text" placeholder="Ej: 18234432-1" maxlength="10" value="<?php echo $imprimir['rut'];?>" />
      <?php
      
if (isset($_SESSION['error3']))
      {
          echo 
"<span class='red'>".$_SESSION['error3']."</span>";
      }else
      {
        echo
"";
      }
      unset(
$_SESSION['error3']);
      
?></td>
    </tr>
    <tr>
      <td><span class="red">*</span> Celular </td>
      <td><input name="celular" type="text" maxlength="9" onkeypress="return numeros(event)" value="<?php echo $imprimir['celular'];?>"/>
      <?php
      
if (isset($_SESSION['error4']))
      {
          echo 
"<span class='red'>".$_SESSION['error4']."</span>";
      }else
      {
        echo
"";
      }
      unset(
$_SESSION['error4']);
      
?></td>
    </tr>
    <tr>
      <td><span class="red">*</span> Email </td>
      <td><input name="email" type="email" maxlength="50" value="<?php echo $imprimir['email'];?>"/>
      <?php
      
if (isset($_SESSION['error5']))
      {
          echo 
"<span class='red'>".$_SESSION['error5']."</span>";
      }else
      {
        echo
"";
      }
      unset(
$_SESSION['error5']);
      
?></td>
    </tr>
    <tr>
      <td><span class="red">*</span> Mensaje </td>
      <td><textarea name="textarea" rows="10" cols="40" placeholder="Escribe tu mensaje aquí" ></textarea>
      <?php
      
if (isset($_SESSION['error6']))
      {
          echo 
"<span class='red'>".$_SESSION['error6']."</span>";
      }else
      {
        echo
"";
      }
      unset(
$_SESSION['error6']);
      
?></td>
    </tr>
    <tr>
      <td></td>
      <td><div class="g-recaptcha" data-sitekey="6Lcl6h0TAAAAAJ_3WtZz5_61O8zpK3gJcNbYdgj9"></div></td>
    </tr>
    <tr>
      <td><span class="red">*</span> Nota </td>
      <td><label>Los campos marcados con <span class="red">*</span> son obligatorios</label></td>
    </tr>
    <tr>
      <td></td>
      <td><input type="submit" name="btn_envio" value="Enviar"/></td>
    </tr>
  </table>
</form>
</body>
y el código del archivo enviar.php

Código PHP:
<?php
session_start
();

$conexion=mysql_connect("localhost","root",""
or die(
"Problemas en la conexion"); 
mysql_select_db("colegios",$conexion) or die("Problemas en la seleccion de la base de datos");

$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$rut=$_POST['rut'];
$celular=$_POST['celular'];
$email=$_POST['email'];
$mensaje=$_POST['textarea'];

$_SESSION['imp']=$_POST;

$errores=array();


if(
$nombre=="")
{
    
$errores[]=true;
    
$_SESSION['error1']="Debes ingresar un nombre";
}


if(
$apellidos=="")
{
    
$errores[]=true;    
    
$_SESSION['error2']="Debes ingresar tus apellidos";
}

if(
$rut=="")
{
    
$errores[]=true;    
    
$_SESSION['error3']="Debes ingresar un rut";
}
if (
valida_rut($rut)== false
             { 
             
$errores[]=true;    
    
$_SESSION['error3']="Debes ingresar un rut válido";
             }  

if(
$celular=="")
{
        
$errores[]=true;
    
$_SESSION['error4']="Debes ingresar un número celular";
}
if(!
is_numeric($celular)){
        
$errores[]=true;
    
$_SESSION['error4']="Debes ingresar un número celular";
}

if(
$email=="")
{
        
$errores[]=true;
    
$_SESSION['error5']="Debes ingresar un correo electrónico";
}


if (
trim($_POST['textarea']) == ""){
    
$errores[]=true;
    
$_SESSION['error6']="Debes escribir un mensaje";
    
}


if(
count($errores)>0)
{
header('location:testcap.php');    
}
else
{
mysql_query("insert into contacto(nombre,apellidos,rut,celular,email,mensaje) values ('$_REQUEST[nombre]','$_REQUEST[apellidos]','$_REQUEST[rut]','$_REQUEST[celular]','$_REQUEST[email]','$_REQUEST[textarea]')",
$conexion) or die("Problemas en el select".mysql_error()); 
mysql_close($conexion);
$_SESSION['exito']="Su mensaje se ha enviado con éxito";
header('location:testcap.php');
}
?>