Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: elbrujo20 en 9 Noviembre 2016, 05:23 AM

Título: error al mandar localhost
Publicado por: elbrujo20 en 9 Noviembre 2016, 05:23 AM
Buenas comunidad andoo terminando mi proyecto pero me estoy topando con errores y no se por que me marca tengo el html y el php con sus post les muestro estan igual los id que en el post para que agarre en la base de datos pero no entiendo por marca error no se si se deba a que mi apache no ese funcionando pero si puedo entrar a xamp y si me corre el mysql los que estan adentro del arrelgo estan como el id del html los de la izquierda estan igual que a la bd
Código (php) [Seleccionar]


$id=$_POST['id'];
$nombres=$_POST['nombres'];
$paterno=$_POST['paterno'];
$materno=$_POST['materno'];
$id_civil=$_POST['estadocivil'];
$direccion=$_POST['direccion'];
$correop=$_POST['emailPrincipal'];
$correoa=$_POST['emailalt'];
$tcelular=$_POST['celular'];
$tcasa=$_POST['telefonocasa'];
$ttrabajo=$_POST['telefonotrabajo'];
$f_nacimiento=$_POST['nacimiento'];
$genero=$_POST['genero'];
$pais_nacimiento=$_POST['nacionalidad'];
$edo_nacimiento=$_POST['estadonac'];
$nacionalidad=$_POST['nacionalidad'];
$identidad=$_POST['identidad'];
$foto=$_POST['foto'];

mysql_query("INSERT INTO tb_personales VALUES ('" . $id . "','" . $nombre . "',''". $paterno. "','". $materno . "','" . $ecivil . "','" . $direccion . "','" . $pais .
         "','" .$correop . "',  '" . $correoa . "','" . $tcelular . "','" .$tcasa . "','" . $ttrabajo . "','" . $f_nacimiento . ",'" . $genero . "','" . $pais_nacimiento . ",'"
         . $edo_nacimiento . ",'" . $nacionalidad . ",'" . $identidad . ",'" . $foto ."',)");




       
   



?>
AQUI EL HTML
[code=html4strict]

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento sin título</title>
    </head>
     
    <body>
    <form id="form1" name="form1" method="post" action="Datospersonales.php">
      <p>&nbsp;</p>
      <p><strong>DATOS PERSONALES </strong>  </p>
      <table width="353" border="0">
        <tr>
          <td>ID</td>
          <td><label for="id"></label>
          <input type="text" name="id" id="id" /></td>
        </tr>
        <tr>
          <td>NOMBRE</td>
          <td><label for="nombres"></label>
          <input type="text" name="nombres" id="nombres" /></td>
        </tr>
        <tr>
          <td>PATERNO</td>
          <td><label for="paterno"></label>
          <input type="text" name="paterno" id="paterno" /></td>
        </tr>
        <tr>
          <td>MATERNO</td>
          <td><label for="materno"></label>
          <input type="text" name="materno" id="materno" /></td>
        </tr>
        <tr>
          <td>ID CIIVIL</td>
          <td><label for="id_civil"></label>
          <input type="text" name="id_civil" id="id_civil" /></td>
        </tr>
        <tr>
          <td>DIRECCION</td>
          <td><label for="direccion"></label>
          <input type="text" name="direccion" id="direccion" /></td>
        </tr>
        <tr>
          <td>EMAIL PRINCIPAL</td>
          <td><label for="emailPrincipal"></label>
          <input type="text" name="emailPrincipal" id="emailPrincipal" /></td>
        </tr>
        <tr>
          <td>EMAIL ALT.</td>
          <td><label for="emailalt"></label>
          <input type="text" name="emailalt" id="emailalt" /></td>
        </tr>
        <tr>
          <td>CELULAR      </td>
          <td><label for="celular"></label>
          <input type="text" name="celular" id="celular" /></td>
        </tr>
        <tr>
          <td>TELEFONO CASA</td>
          <td><label for="telefonocasa"></label>
          <input type="text" name="telefonocasa" id="telefonocasa" /></td>
        </tr>
        <tr>
          <td>TELEFONO TRABAJO</td>
          <td><label for="telefonotrabajo"></label>
          <input type="text" name="telefonotrabajo" id="telefonotrabajo" /></td>
        </tr>
        <tr>
          <td>F.NACIMIENTO</td>
          <td><input type="date" name="nacimiento" id="nacimiento" /></td>
        </tr>
        <tr>
          <td>GENERO</td>
          <td><label for="genero"></label>
            <select name="genero" id="genero">
              <option value="1">Hombre</option>
              <option value="2">Mujer</option>
          </select></td>
        </tr>
        <tr>
          <td>PAIS </td>
          <td><select name="paisdireccion" id="paisdireccion">
            <option>Alemania</option>
            <option>Argentina</option>
            <option>Autralia</option>
            <option>Bahamas</option>
            <option>Belgica</option>
            <option>Belice</option>
            <option>Bolivia</option>
            <option>Brasil</option>
            <option>Camerun</option>
            <option>Canada</option>
            <option>Chile</option>
            <option>China</option>
            <option>Ciudad del vaticano</option>
            <option>Colombia</option>
            <option>Corea del norte</option>
            <option>Corea del sur</option>
            <option>Costa rica</option>
            <option>Croacia</option>
            <option>Cuba</option>
            <option>Dinamarca</option>
            <option>Ecuador</option>
            <option>Egipto</option>
            <option>El salvador</option>
            <option>Eslovaquia</option>
            <option>España</option>
            <option>Estados Unidos</option>
            <option>Filipinas</option>
            <option>Francia</option>
            <option>Grecia</option>
            <option>Guatemala</option>
            <option>Honduras</option>
            <option>India</option>
            <option>Irak</option>
            <option>Iran</option>
            <option>Irlanda</option>
            <option>Jamaica</option>
            <option>Madagascar</option>
            <option>Montenegro</option>
            <option>Mexico</option>
            <option>Nueva Zelanda</option>
            <option>Peru</option>
            <option>Uruguay</option>
          </select></td>
        </tr>
        <tr>
          <td>ESTADO</td>
          <td><select name="estadonac" id="estadonac">
            <option>Aguascalientes</option>
            <option>Baja California</option>
          </select></td>
        </tr>
        <tr>
          <td>NACIONALIDAD</td>
          <td><select name="nacionalidad" id="nacionalidad">
            <option>mexicano</option>
          </select></td>
        </tr>
        <tr>
          <td>IDENTIDAD</td>
          <td><select name="identidad" id="identidad">
            <option value="1">CURP</option>
            <option value="2">INE</option>
            <option value="3">IMSS</option>
            <option value="4">ISSSTE</option>
            <option value="5">ISSSTECALLI</option>
            <option value="6">CARTILLA</option>
          </select></td>
        </tr>
        <tr>
          <td>FOTO</td>
          <td><label for="foto"></label>
          <input type="text" name="foto" id="foto" /></td>
        </tr>
      </table>
      <p>&nbsp;</p>
      <p>
        <input type="submit" name="Enviar" id="Enviar" value="Enviar" />
      </p>
      <p>&nbsp;</p>
    </form>
     
    <body background="file:///C:/Users/alejandro%20ramon/Desktop/carpetas%20de%20cosas/desarrollo/conacyt2.png">
     
     
    </body>
    </html>
     
    AL mandar localhost/Datospersonales.php marca error
     
    Notice: Undefined index: id in C:\xampp\htdocs\Datospersonales.php on line 2
     
    Notice: Undefined index: nombres in C:\xampp\htdocs\Datospersonales.php on line 3
     
    Notice: Undefined index: paterno in C:\xampp\htdocs\Datospersonales.php on line 4
     
    Notice: Undefined index: materno in C:\xampp\htdocs\Datospersonales.php on line 5
     
    Notice: Undefined index: estadocivil in C:\xampp\htdocs\Datospersonales.php on line 6
     
    Notice: Undefined index: direccion in C:\xampp\htdocs\Datospersonales.php on line 7
     
    Notice: Undefined index: emailPrincipal in C:\xampp\htdocs\Datospersonales.php on line 8
     
    Notice: Undefined index: emailalt in C:\xampp\htdocs\Datospersonales.php on line 9
     
    Notice: Undefined index: celular in C:\xampp\htdocs\Datospersonales.php on line 10
     
    Notice: Undefined index: telefonocasa in C:\xampp\htdocs\Datospersonales.php on line 11
     
    Notice: Undefined index: telefonotrabajo in C:\xampp\htdocs\Datospersonales.php on line 12
     
    Notice: Undefined index: nacimiento in C:\xampp\htdocs\Datospersonales.php on line 13
     
    Notice: Undefined index: genero in C:\xampp\htdocs\Datospersonales.php on line 14
     
    Notice: Undefined index: nacionalidad in C:\xampp\htdocs\Datospersonales.php on line 15
     
    Notice: Undefined index: estadonac in C:\xampp\htdocs\Datospersonales.php on line 16
     
    Notice: Undefined index: nacionalidad in C:\xampp\htdocs\Datospersonales.php on line 17
     
    Notice: Undefined index: identidad in C:\xampp\htdocs\Datospersonales.php on line 18
     
    Notice: Undefined index: foto in C:\xampp\htdocs\Datospersonales.php on line 19
     
    Notice: Undefined variable: nombre in C:\xampp\htdocs\Datospersonales.php on line 21
     
    Notice: Undefined variable: ecivil in C:\xampp\htdocs\Datospersonales.php on line 21
     
    Notice: Undefined variable: pais in C:\xampp\htdocs\Datospersonales.php on line 21
     
     
     
     

no se que se deba si los id concuerdan con el html y la bd y si las cambio sigue dando error no se que este pasando
Saludos






[/code]
Título: Re: error al mandar localhost
Publicado por: Konlex en 9 Noviembre 2016, 05:28 AM
Aqui tienes la solucion a tu problema: http://yuyodesign.blogspot.com.ar/2011/07/como-corregir-el-mensaje-notice.html (http://yuyodesign.blogspot.com.ar/2011/07/como-corregir-el-mensaje-notice.html)

saludos!
Título: Re: error al mandar localhost
Publicado por: engel lex en 9 Noviembre 2016, 05:32 AM
Cita de: Konlex en  9 Noviembre 2016, 05:28 AM
Aqui tienes la solucion a tu problema: http://yuyodesign.blogspot.com.ar/2011/07/como-corregir-el-mensaje-notice.html (http://yuyodesign.blogspot.com.ar/2011/07/como-corregir-el-mensaje-notice.html)

saludos!

wow! XD no! XD ni cerca de una solución XD si quieres le dices que coloque error_reporting(0); y así ya no hay más errores XD

"corregir el mensaje notice" XD es un nuevo nivel!




si los id del html y la bd concuerdan, nada tiene que ver... el error empieza en la linea 2


has un var dump  y exit para hacer un pequeño debug y muestranos el resultado

Código (php) [Seleccionar]
<?php
var_dump
($_POST);
exit();


Título: Re: error al mandar localhost
Publicado por: Konlex en 9 Noviembre 2016, 05:40 AM
Citarwow! XD no! XD ni cerca de una solución XD si quieres le dices que coloque error_reporting(0); y así ya no hay más errores XD

"corregir el mensaje notice" XD es un nuevo nivel!

XD me disculpo,entendi otra cosa,JAJAJA.Gracias engel por corregirme xD.saludos!  ;D :silbar:
Título: Re: error al mandar localhost
Publicado por: SetzerFF en 9 Noviembre 2016, 18:41 PM
Es demasiado sencillo. porque te muestra ese error de Notice.
Es un Notice, no es un error grave.

El problema está en que estas asignando las variables cuando $_POST no existe. Esto sucede cuando ejecutas la pagina sin habiendolo enviado mediante el metodo POST. Cuando envias el formulario, no se muestran los errores y se agregan los valores a la base de datos.

Simplemente tienes que agregar un if $_POST. O sea..., si se ha hecho un POST a la página, que agregue los valores a la base de datos, sino (else) mostrar el formulario.

Código (php) [Seleccionar]
<?php
if($_POST) {
$id=$_POST['id'];
$nombres=$_POST['nombres'];
$paterno=$_POST['paterno'];
$materno=$_POST['materno'];
$id_civil=$_POST['estadocivil'];
$direccion=$_POST['direccion'];
$correop=$_POST['emailPrincipal'];
$correoa=$_POST['emailalt'];
$tcelular=$_POST['celular'];
$tcasa=$_POST['telefonocasa'];
$ttrabajo=$_POST['telefonotrabajo'];
$f_nacimiento=$_POST['nacimiento'];
$genero=$_POST['genero'];
$pais_nacimiento=$_POST['nacionalidad'];
$edo_nacimiento=$_POST['estadonac'];
$nacionalidad=$_POST['nacionalidad'];
$identidad=$_POST['identidad'];
$foto=$_POST['foto'];
 
mysql_query("INSERT INTO tb_personales VALUES ('" $id "','" $nombre "',''"$paterno"','"$materno "','" $ecivil "','" $direccion "','" $pais .
         
"','" .$correop "',  '" $correoa "','" $tcelular "','" .$tcasa "','" $ttrabajo "','" $f_nacimiento ",'" $genero "','" $pais_nacimiento ",'" 
         
$edo_nacimiento ",'" $nacionalidad ",'" $identidad ",'" $foto ."',)");
}


Lo que hace esto, es SI se envia un POST, asignar todas las variables a cada campo correspondiente, e ingresar en la base de datos. Pero solo si se recibe el POST.
Entonces, ya se asignan los valores con los enviados por el formulario.  Y ya no deberia mostrar error ni notice. Porque en tu código, estás asignando variables con valores inexistentes de $_POST.

Salu2
Título: Re: error al mandar localhost
Publicado por: elbrujo20 en 9 Noviembre 2016, 20:12 PM
Si tenian razon le fataba un if ya no tira ese error gracias pero ahora quiero que se guarde lo que introduzca en las tablas hice este connect pero introduzco datos y no se guardan no saben a que se deba? los querys ya tienen su insert into me comentaron de un selectdb pero al poner insert into ya selecciona la tabla por eso no entiendo a que se refieren
Código (php) [Seleccionar]

<?php
$conexion
=mysqli_connect("localhost","root","","conacyt");
if(
$conexion)
{
    echo 
"Se ha conectado correctamente";
    
    
    
}
else{
    echo 
"No se ha podido coenctar";
    
    
    
}


 
 
 





/**
 * @author www.intercambiosvirtuales.org
 * @copyright 2016
 */
?>

saludos gracias





Título: Re: error al mandar localhost
Publicado por: SetzerFF en 9 Noviembre 2016, 20:39 PM
No entiendo tu pregunta.
Solo pusiste el codigo de la conexión a la base de datos.

Salu2
Título: Re: error al mandar localhost
Publicado por: elbrujo20 en 9 Noviembre 2016, 21:40 PM
SI quiero lo que pasa es que ocupo que lo que se introduzca en la tabla se guarde a la base de datos esta es la tabla el connect alparecer si funciona pero no esta guardando lo que ingreso en la tabla hice esto pero esta dando error
Código (php) [Seleccionar]

mysql_query("INSERT INTO tb_personales VALUES ('" . $id . "','" . $nombres . "',''". $paterno. "','". $materno . "','" . $ecivil . "','" . $direccion . "','" . $pais .
         "','" .$correop . "',  '" . $correoa . "','" . $tcelular . "','" .$tcasa . "','" . $ttrabajo . "','" . $f_nacimiento . ",'" . $genero . "','" . $pais_nacimiento . ",'"
         . $edo_nacimiento . ",'" . $nacionalidad . ",'" . $identidad . ",'" . $foto ."',)");
         
         
include("abre_conexionabd.php");
(id,nombres,paterno,materno,estadocivil,direccion,pais,emailPrincipal,emailAlt,tcasa,telefonotrabajo,nacimiento,genero,pais_nacimiento,
estadonac,nacionalidad,identidad,foto) VALUES('". $id ."' ,'"$nombres'",'"$paterno','$materno','$ecivil','$direccion','$pais','$correop','$correoa','$tcelular','$tcasa','$ttrabajo','$f_nacimiento',
'$genero','$pais_nacimiento','$edo_nacimiento','$nacionalidad','$identidad','$foto');
mysql_query($_GRABAR_SQL); 


include("cierra_conexionabd.php");
   
   
    echo " 
<p>Los datos han sido guardados con exito.</p> 

<p><a href='javascript:history.go(-1)'>VOLVER ATRÁS</a></p> 
";   



me dijieron que asi se guarda pero desconozco
Saludos
Título: Re: error al mandar localhost
Publicado por: SetzerFF en 9 Noviembre 2016, 21:46 PM
Para empezar... supongo que abre_conexionabd.php hace la conexión a SQL y cierra_conexionabd.php hace el mysqli_close();

El Query SQL, tiene que estar entre estas dos líneas. Y tienes que usar mysqli_query(); en vez de mysql_query();

Que quede algo así como
Código (php) [Seleccionar]

include("abre_conexionabd.php");

mysqli_query("INSERT INTO tb_personales (id,nombres,paterno,materno,estadocivil,direccion,pais,emailPrincipal,emailAlt,tcasa,telefonotrabajo,nacimiento,genero,pais_nacimiento,
estadonac,nacionalidad,identidad,foto) VALUES('". $id ."' ,'"$nombres'",'"$paterno','$materno','$ecivil','$direccion','$pais','$correop','$correoa','$tcelular','$tcasa','$ttrabajo','$f_nacimiento',
'$genero','$pais_nacimiento','$edo_nacimiento','$nacionalidad','$identidad','$foto')");
 
include("cierra_conexionabd.php");

O si quieres guardarlo en una variable
Código (php) [Seleccionar]

include("abre_conexionabd.php");

$GRABAR_SQL = "INSERT INTO tb_personales (id,nombres,paterno,materno,estadocivil,direccion,pais,emailPrincipal,emailAlt,tcasa,telefonotrabajo,nacimiento,genero,pais_nacimiento,
estadonac,nacionalidad,identidad,foto) VALUES('". $id ."' ,'"$nombres'",'"$paterno','$materno','$ecivil','$direccion','$pais','$correop','$correoa','$tcelular','$tcasa','$ttrabajo','$f_nacimiento',
'$genero','$pais_nacimiento','$edo_nacimiento','$nacionalidad','$identidad','$foto')";
mysqli_query($GRABAR_SQL);

include("cierra_conexionabd.php");


No he revisado la consulta SQL porque es muy largo, pero fijate que esté bien la consulta y que valores se agrega a cada columna.

Salu2
Título: Re: error al mandar localhost
Publicado por: elbrujo20 en 9 Noviembre 2016, 21:49 PM
ok gracias

Saludos
Título: Re: error al mandar localhost
Publicado por: SetzerFF en 9 Noviembre 2016, 21:56 PM
Por cierto... revisando por el coloreado del código PHP

Hay un problema en la consulta SQL
Código (php) [Seleccionar]
'". $id ."' ,'"$nombres'",'"$paterno','$materno',
Están mal las comillas y te va a dar error de SQL, y no vas a poder guardar.
Ej.
'"$nombres'" = deberia ser '".$nombres."' ó '$nombres'
'"$paterno' = deberia ser '".$paterno."' ó '$paterno''

Y fijate si asi con otros.

Y otra cosa. No se si vas a permitir en el form que el usuario ponga un ID. Si tu form requiere eso si. Pero sino, podes crear que la columna id tenga auto_increment. Y cuando se vaya agregando data, el id va incrementandose de forma automatica.