Foro de elhacker.net

Programación => 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
  1.  
  2. $id=$_POST['id'];
  3. $nombres=$_POST['nombres'];
  4. $paterno=$_POST['paterno'];
  5. $materno=$_POST['materno'];
  6. $id_civil=$_POST['estadocivil'];
  7. $direccion=$_POST['direccion'];
  8. $correop=$_POST['emailPrincipal'];
  9. $correoa=$_POST['emailalt'];
  10. $tcelular=$_POST['celular'];
  11. $tcasa=$_POST['telefonocasa'];
  12. $ttrabajo=$_POST['telefonotrabajo'];
  13. $f_nacimiento=$_POST['nacimiento'];
  14. $genero=$_POST['genero'];
  15. $pais_nacimiento=$_POST['nacionalidad'];
  16. $edo_nacimiento=$_POST['estadonac'];
  17. $nacionalidad=$_POST['nacionalidad'];
  18. $identidad=$_POST['identidad'];
  19. $foto=$_POST['foto'];
  20.  
  21. mysql_query("INSERT INTO tb_personales VALUES ('" . $id . "','" . $nombre . "',''". $paterno. "','". $materno . "','" . $ecivil . "','" . $direccion . "','" . $pais .
  22.         "','" .$correop . "',  '" . $correoa . "','" . $tcelular . "','" .$tcasa . "','" . $ttrabajo . "','" . $f_nacimiento . ",'" . $genero . "','" . $pais_nacimiento . ",'"
  23.         . $edo_nacimiento . ",'" . $nacionalidad . ",'" . $identidad . ",'" . $foto ."',)");
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. ?>
  34. AQUI EL HTML
  35. [code=html4strict]
  36.  
  37.    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  38.    <html xmlns="http://www.w3.org/1999/xhtml">
  39.    <head>
  40.    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  41.    <title>Documento sin título</title>
  42.    </head>
  43.  
  44.    <body>
  45.    <form id="form1" name="form1" method="post" action="Datospersonales.php">
  46.      <p>&nbsp;</p>
  47.      <p><strong>DATOS PERSONALES </strong>  </p>
  48.      <table width="353" border="0">
  49.        <tr>
  50.          <td>ID</td>
  51.          <td><label for="id"></label>
  52.          <input type="text" name="id" id="id" /></td>
  53.        </tr>
  54.        <tr>
  55.          <td>NOMBRE</td>
  56.          <td><label for="nombres"></label>
  57.          <input type="text" name="nombres" id="nombres" /></td>
  58.        </tr>
  59.        <tr>
  60.          <td>PATERNO</td>
  61.          <td><label for="paterno"></label>
  62.          <input type="text" name="paterno" id="paterno" /></td>
  63.        </tr>
  64.        <tr>
  65.          <td>MATERNO</td>
  66.          <td><label for="materno"></label>
  67.          <input type="text" name="materno" id="materno" /></td>
  68.        </tr>
  69.        <tr>
  70.          <td>ID CIIVIL</td>
  71.          <td><label for="id_civil"></label>
  72.          <input type="text" name="id_civil" id="id_civil" /></td>
  73.        </tr>
  74.        <tr>
  75.          <td>DIRECCION</td>
  76.          <td><label for="direccion"></label>
  77.          <input type="text" name="direccion" id="direccion" /></td>
  78.        </tr>
  79.        <tr>
  80.          <td>EMAIL PRINCIPAL</td>
  81.          <td><label for="emailPrincipal"></label>
  82.          <input type="text" name="emailPrincipal" id="emailPrincipal" /></td>
  83.        </tr>
  84.        <tr>
  85.          <td>EMAIL ALT.</td>
  86.          <td><label for="emailalt"></label>
  87.          <input type="text" name="emailalt" id="emailalt" /></td>
  88.        </tr>
  89.        <tr>
  90.          <td>CELULAR      </td>
  91.          <td><label for="celular"></label>
  92.          <input type="text" name="celular" id="celular" /></td>
  93.        </tr>
  94.        <tr>
  95.          <td>TELEFONO CASA</td>
  96.          <td><label for="telefonocasa"></label>
  97.          <input type="text" name="telefonocasa" id="telefonocasa" /></td>
  98.        </tr>
  99.        <tr>
  100.          <td>TELEFONO TRABAJO</td>
  101.          <td><label for="telefonotrabajo"></label>
  102.          <input type="text" name="telefonotrabajo" id="telefonotrabajo" /></td>
  103.        </tr>
  104.        <tr>
  105.          <td>F.NACIMIENTO</td>
  106.          <td><input type="date" name="nacimiento" id="nacimiento" /></td>
  107.        </tr>
  108.        <tr>
  109.          <td>GENERO</td>
  110.          <td><label for="genero"></label>
  111.            <select name="genero" id="genero">
  112.              <option value="1">Hombre</option>
  113.              <option value="2">Mujer</option>
  114.          </select></td>
  115.        </tr>
  116.        <tr>
  117.          <td>PAIS </td>
  118.          <td><select name="paisdireccion" id="paisdireccion">
  119.            <option>Alemania</option>
  120.            <option>Argentina</option>
  121.            <option>Autralia</option>
  122.            <option>Bahamas</option>
  123.            <option>Belgica</option>
  124.            <option>Belice</option>
  125.            <option>Bolivia</option>
  126.            <option>Brasil</option>
  127.            <option>Camerun</option>
  128.            <option>Canada</option>
  129.            <option>Chile</option>
  130.            <option>China</option>
  131.            <option>Ciudad del vaticano</option>
  132.            <option>Colombia</option>
  133.            <option>Corea del norte</option>
  134.            <option>Corea del sur</option>
  135.            <option>Costa rica</option>
  136.            <option>Croacia</option>
  137.            <option>Cuba</option>
  138.            <option>Dinamarca</option>
  139.            <option>Ecuador</option>
  140.            <option>Egipto</option>
  141.            <option>El salvador</option>
  142.            <option>Eslovaquia</option>
  143.            <option>España</option>
  144.            <option>Estados Unidos</option>
  145.            <option>Filipinas</option>
  146.            <option>Francia</option>
  147.            <option>Grecia</option>
  148.            <option>Guatemala</option>
  149.            <option>Honduras</option>
  150.            <option>India</option>
  151.            <option>Irak</option>
  152.            <option>Iran</option>
  153.            <option>Irlanda</option>
  154.            <option>Jamaica</option>
  155.            <option>Madagascar</option>
  156.            <option>Montenegro</option>
  157.            <option>Mexico</option>
  158.            <option>Nueva Zelanda</option>
  159.            <option>Peru</option>
  160.            <option>Uruguay</option>
  161.          </select></td>
  162.        </tr>
  163.        <tr>
  164.          <td>ESTADO</td>
  165.          <td><select name="estadonac" id="estadonac">
  166.            <option>Aguascalientes</option>
  167.            <option>Baja California</option>
  168.          </select></td>
  169.        </tr>
  170.        <tr>
  171.          <td>NACIONALIDAD</td>
  172.          <td><select name="nacionalidad" id="nacionalidad">
  173.            <option>mexicano</option>
  174.          </select></td>
  175.        </tr>
  176.        <tr>
  177.          <td>IDENTIDAD</td>
  178.          <td><select name="identidad" id="identidad">
  179.            <option value="1">CURP</option>
  180.            <option value="2">INE</option>
  181.            <option value="3">IMSS</option>
  182.            <option value="4">ISSSTE</option>
  183.            <option value="5">ISSSTECALLI</option>
  184.            <option value="6">CARTILLA</option>
  185.          </select></td>
  186.        </tr>
  187.        <tr>
  188.          <td>FOTO</td>
  189.          <td><label for="foto"></label>
  190.          <input type="text" name="foto" id="foto" /></td>
  191.        </tr>
  192.      </table>
  193.      <p>&nbsp;</p>
  194.      <p>
  195.        <input type="submit" name="Enviar" id="Enviar" value="Enviar" />
  196.      </p>
  197.      <p>&nbsp;</p>
  198.    </form>
  199.  
  200.    <body background="file:///C:/Users/alejandro%20ramon/Desktop/carpetas%20de%20cosas/desarrollo/conacyt2.png">
  201.  
  202.  
  203.    </body>
  204.    </html>
  205.  
  206.    AL mandar localhost/Datospersonales.php marca error
  207.  
  208.    Notice: Undefined index: id in C:\xampp\htdocs\Datospersonales.php on line 2
  209.  
  210.    Notice: Undefined index: nombres in C:\xampp\htdocs\Datospersonales.php on line 3
  211.  
  212.    Notice: Undefined index: paterno in C:\xampp\htdocs\Datospersonales.php on line 4
  213.  
  214.    Notice: Undefined index: materno in C:\xampp\htdocs\Datospersonales.php on line 5
  215.  
  216.    Notice: Undefined index: estadocivil in C:\xampp\htdocs\Datospersonales.php on line 6
  217.  
  218.    Notice: Undefined index: direccion in C:\xampp\htdocs\Datospersonales.php on line 7
  219.  
  220.    Notice: Undefined index: emailPrincipal in C:\xampp\htdocs\Datospersonales.php on line 8
  221.  
  222.    Notice: Undefined index: emailalt in C:\xampp\htdocs\Datospersonales.php on line 9
  223.  
  224.    Notice: Undefined index: celular in C:\xampp\htdocs\Datospersonales.php on line 10
  225.  
  226.    Notice: Undefined index: telefonocasa in C:\xampp\htdocs\Datospersonales.php on line 11
  227.  
  228.    Notice: Undefined index: telefonotrabajo in C:\xampp\htdocs\Datospersonales.php on line 12
  229.  
  230.    Notice: Undefined index: nacimiento in C:\xampp\htdocs\Datospersonales.php on line 13
  231.  
  232.    Notice: Undefined index: genero in C:\xampp\htdocs\Datospersonales.php on line 14
  233.  
  234.    Notice: Undefined index: nacionalidad in C:\xampp\htdocs\Datospersonales.php on line 15
  235.  
  236.    Notice: Undefined index: estadonac in C:\xampp\htdocs\Datospersonales.php on line 16
  237.  
  238.    Notice: Undefined index: nacionalidad in C:\xampp\htdocs\Datospersonales.php on line 17
  239.  
  240.    Notice: Undefined index: identidad in C:\xampp\htdocs\Datospersonales.php on line 18
  241.  
  242.    Notice: Undefined index: foto in C:\xampp\htdocs\Datospersonales.php on line 19
  243.  
  244.    Notice: Undefined variable: nombre in C:\xampp\htdocs\Datospersonales.php on line 21
  245.  
  246.    Notice: Undefined variable: ecivil in C:\xampp\htdocs\Datospersonales.php on line 21
  247.  
  248.    Notice: Undefined variable: pais in C:\xampp\htdocs\Datospersonales.php on line 21
  249.  
  250.  
  251.  
  252.  
  253.  
  254. 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
  255. Saludos
  256.  
  257.  
  258.  



[/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
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
  1. <?php
  2. var_dump($_POST);
  3. exit();



Título: Re: error al mandar localhost
Publicado por: Konlex en 9 Noviembre 2016, 05:40 am
Citar
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!

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
  1. <?php
  2. if($_POST) {
  3. $id=$_POST['id'];
  4. $nombres=$_POST['nombres'];
  5. $paterno=$_POST['paterno'];
  6. $materno=$_POST['materno'];
  7. $id_civil=$_POST['estadocivil'];
  8. $direccion=$_POST['direccion'];
  9. $correop=$_POST['emailPrincipal'];
  10. $correoa=$_POST['emailalt'];
  11. $tcelular=$_POST['celular'];
  12. $tcasa=$_POST['telefonocasa'];
  13. $ttrabajo=$_POST['telefonotrabajo'];
  14. $f_nacimiento=$_POST['nacimiento'];
  15. $genero=$_POST['genero'];
  16. $pais_nacimiento=$_POST['nacionalidad'];
  17. $edo_nacimiento=$_POST['estadonac'];
  18. $nacionalidad=$_POST['nacionalidad'];
  19. $identidad=$_POST['identidad'];
  20. $foto=$_POST['foto'];
  21.  
  22. mysql_query("INSERT INTO tb_personales VALUES ('" . $id . "','" . $nombre . "',''". $paterno. "','". $materno . "','" . $ecivil . "','" . $direccion . "','" . $pais .
  23.         "','" .$correop . "',  '" . $correoa . "','" . $tcelular . "','" .$tcasa . "','" . $ttrabajo . "','" . $f_nacimiento . ",'" . $genero . "','" . $pais_nacimiento . ",'"
  24.         . $edo_nacimiento . ",'" . $nacionalidad . ",'" . $identidad . ",'" . $foto ."',)");
  25. }

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
  1. <?php
  2. $conexion=mysqli_connect("localhost","root","","conacyt");
  3. if($conexion)
  4. {
  5.    echo "Se ha conectado correctamente";
  6.  
  7.  
  8.  
  9. }
  10. else{
  11.    echo "No se ha podido coenctar";
  12.  
  13.  
  14.  
  15. }
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26. /**
  27.  * @author www.intercambiosvirtuales.org
  28.  * @copyright 2016
  29.  */
  30. ?>
  31. saludos gracias
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  


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
  1. mysql_query("INSERT INTO tb_personales VALUES ('" . $id . "','" . $nombres . "',''". $paterno. "','". $materno . "','" . $ecivil . "','" . $direccion . "','" . $pais .
  2.         "','" .$correop . "',  '" . $correoa . "','" . $tcelular . "','" .$tcasa . "','" . $ttrabajo . "','" . $f_nacimiento . ",'" . $genero . "','" . $pais_nacimiento . ",'"
  3.         . $edo_nacimiento . ",'" . $nacionalidad . ",'" . $identidad . ",'" . $foto ."',)");
  4.  
  5.  
  6. include("abre_conexionabd.php");
  7. (id,nombres,paterno,materno,estadocivil,direccion,pais,emailPrincipal,emailAlt,tcasa,telefonotrabajo,nacimiento,genero,pais_nacimiento,
  8. estadonac,nacionalidad,identidad,foto) VALUES('". $id ."' ,'"$nombres'",'"$paterno','$materno','$ecivil','$direccion','$pais','$correop','$correoa','$tcelular','$tcasa','$ttrabajo','$f_nacimiento',
  9. '$genero','$pais_nacimiento','$edo_nacimiento','$nacionalidad','$identidad','$foto');
  10. mysql_query($_GRABAR_SQL);  
  11.  
  12.  
  13. include("cierra_conexionabd.php");
  14.  
  15.  
  16.    echo "  
  17. <p>Los datos han sido guardados con exito.</p>  
  18.  
  19. <p><a href='javascript:history.go(-1)'>VOLVER ATRÁS</a></p>  
  20. ";  
  21.  
  22.  
  23.  
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
  1.  
  2. include("abre_conexionabd.php");
  3.  
  4. mysqli_query("INSERT INTO tb_personales (id,nombres,paterno,materno,estadocivil,direccion,pais,emailPrincipal,emailAlt,tcasa,telefonotrabajo,nacimiento,genero,pais_nacimiento,
  5. estadonac,nacionalidad,identidad,foto) VALUES('". $id ."' ,'"$nombres'",'"$paterno','$materno','$ecivil','$direccion','$pais','$correop','$correoa','$tcelular','$tcasa','$ttrabajo','$f_nacimiento',
  6. '$genero','$pais_nacimiento','$edo_nacimiento','$nacionalidad','$identidad','$foto')");
  7.  
  8. include("cierra_conexionabd.php");
  9.  
O si quieres guardarlo en una variable
Código
  1. include("abre_conexionabd.php");
  2.  
  3. $GRABAR_SQL = "INSERT INTO tb_personales (id,nombres,paterno,materno,estadocivil,direccion,pais,emailPrincipal,emailAlt,tcasa,telefonotrabajo,nacimiento,genero,pais_nacimiento,
  4. estadonac,nacionalidad,identidad,foto) VALUES('". $id ."' ,'"$nombres'",'"$paterno','$materno','$ecivil','$direccion','$pais','$correop','$correoa','$tcelular','$tcasa','$ttrabajo','$f_nacimiento',
  5. '$genero','$pais_nacimiento','$edo_nacimiento','$nacionalidad','$identidad','$foto')";
  6. mysqli_query($GRABAR_SQL);
  7.  
  8. include("cierra_conexionabd.php");
  9.  

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
  1. '". $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.