elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  problemas al ingresar datos con php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: problemas al ingresar datos con php  (Leído 7,655 veces)
hacker562

Desconectado Desconectado

Mensajes: 3


Developer Google and MAC


Ver Perfil WWW
Re: problemas al ingresar datos con php
« Respuesta #10 en: 2 Septiembre 2014, 18:18 pm »

Hola Usuario ::: Devil ::::

Tienes Varios problemas en tu formulario de regisro y de conexxión de datos.

Te indicare una lista que tienes que hacer.

PRIMERA PARTE PARA PODER INGRESAR LOS DATOS EN PHP:

PASOS QUE TIENES QUE SEGUIR Y HACER DE NUEVO:
  • 1- Crearemos el archivo llamado conexiondb.php[/li]
    • 2- Crearemos el formulario de registros de datos en HTM o si lo prefieres en PHP.
    • El formulario de registro de datos lo llamaremos:Registro.html[/li]
      • 3- Crearmos el archivo de insertar los datos en php y lo llamaremos:insertar_registro.php
      • 4- Crearemos por ultimo un archivo llamado : Verificación de datos insertados.
        Que nos validara los campos del registro y comprovar si esta todo registrado y guardado en el servidor.
         Y  este archivo lo guardaemos con el nombre: validacion_de_registro.php

      SEGUNDA PARTE CREAREMOS EL ARCHIVO LLAMADO conexiondb.php


Código
  1. <?php
  2. $enlace =  mysql_connect('tulocalhost', 'tuusuario_mysql', 'tucontraseña_mysql');
  3. if (!$enlace) {
  4.    die('No pudo conectarse: ' . mysql_error());
  5. }
  6. echo 'Conectado satisfactoriamente';
  7. mysql_close($enlace);
  8. ?>


TERCERA PARTE CREAREMOS EL ARCHIVO LLAMADO Registro.html

Código
  1. <!doctype html>
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  3. <title>PHP con MySQL: Insertar datos en MySQL</title>
  4. <link href="styles.css" rel="stylesheet" type="text/css" />
  5. </head>
  6. <h3>Nueva Empresa</h3>
  7. <p class="confirm">Registro guardado correctamente</p>
  8.  
  9. <p>
  10. <p><form method="post" id="frEmpresa" action="insertar_registro.php"><table width="510" height="222" border="0">
  11.  <tr>
  12.    <td width="143">codigo</td>
  13.    <td width="357"><input type="text" id="codigo" name="codigo" /><?php print ('Campo Obligatorio'); ?></td>
  14.  </tr>
  15.  <tr>
  16.    <td>nombre</td>
  17.    <td><input type="text" id="nombre" name="nombre" />
  18.      <?php print ('Campo Obligatorio'); ?></td>
  19.  </tr>
  20.  <tr>
  21.    <td>nota</td>
  22.    <td><input type="text" id="nota" name="nota" />
  23.      <?php print ('Campo Obligatorio'); ?></td>
  24.  </tr>
  25.  <tr>
  26.    <td>estado</td>
  27.    <td><input type="text" id="estado" name="estado" />
  28.      <?php print ('Campo Obligatorio'); ?></td>
  29.  </tr>
  30.  <tr>
  31.    <td>direccion</td>
  32.    <td><input type="text" id="direccion" name="direccion" />
  33.      <?php print ('Campo Obligatorio'); ?></td>
  34.  </tr>
  35.  <tr>
  36.    <td>Telefono</td>
  37.    <td><input type="text" id="Telefono" name="Telefono" />
  38.      <?php print ('Campo Obligatorio'); ?></td>
  39.  </tr>
  40.  <tr>
  41.    <td><button type="submit">Ingresar Datos</button></td>
  42.    <td><button type="reset">Limpiar</button></td>
  43.  </tr>
  44. </table></form></p>
  45. </body>
  46. </html>


CUARTA PARTE CREAREMOS EL ARCHIVO LLAMADO insertar_registro.php

Código
  1. <?php require_once('conexiondb.php'); ?>
  2. <?php
  3. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  4. {
  5.  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
  6.  
  7.  switch ($theType) {
  8.    case "text":
  9.      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  10.      break;    
  11.    case "long":
  12.    case "int":
  13.      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  14.      break;
  15.    case "double":
  16.      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
  17.      break;
  18.    case "date":
  19.      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  20.      break;
  21.    case "defined":
  22.      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  23.      break;
  24.  }
  25.  return $theValue;
  26. }
  27.  
  28. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  29. {
  30.  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
  31.  
  32.  switch ($theType) {
  33.    case "text":
  34.      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  35.      break;    
  36.    case "long":
  37.    case "int":
  38.      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  39.      break;
  40.    case "double":
  41.      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
  42.      break;
  43.    case "date":
  44.      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  45.      break;
  46.    case "defined":
  47.      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  48.      break;
  49.  }
  50.  return $theValue;
  51. }
  52.  
  53. $editFormAction = $_SERVER['PHP_SELF'];
  54. if (isset($_SERVER['QUERY_STRING'])) {
  55.  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
  56. }
  57.  
  58. $editFormAction = $_SERVER['PHP_SELF'];
  59. if (isset($_SERVER['QUERY_STRING'])) {
  60.  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
  61. }
  62.  
  63. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  64.  $insertSQL = sprintf("INSERT INTO producto (codigo, nombre, nota, valor, estado, direccion , telefono)  VALUES  VALUES (%s, %s, %s, %s, %s, %s, %s)",
  65.                       GetSQLValueString($_POST['codigo'], "text"),
  66.                       GetSQLValueString($_POST['nombre'], "text"),
  67.                       GetSQLValueString($_POST['nota'], "text"),
  68.                       GetSQLValueString($_POST['valor'], "text"),
  69.                       GetSQLValueString($_POST['estado'], "text"),
  70.                       GetSQLValueString($_POST['direccion'], "text"),
  71.                       GetSQLValueString($_POST['telefono'], "text"),
  72.  
  73.  
  74.  $insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
  75.                       GetSQLValueString($_POST['codigo'], "text"),
  76.                       GetSQLValueString($_POST['nombre'], "text"),
  77.                       GetSQLValueString($_POST['nota'], "text"),
  78.                       GetSQLValueString($_POST['valor'], "text"),
  79.                       GetSQLValueString($_POST['estado'], "text"),
  80.                       GetSQLValueString($_POST['direccion'], "text"),
  81.                       GetSQLValueString($_POST['telefono'], "text"),
  82.  
  83.  
  84.  $insertGoTo = "insertar_registro.php";
  85.  if (isset($_SERVER['QUERY_STRING'])) {
  86.    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
  87.    $insertGoTo .= $_SERVER['QUERY_STRING'];
  88.  }
  89.  header(sprintf("Location: %s", $insertGoTo));
  90. }
  91.  
  92. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  93.  $insertSQL = sprintf(INSERT INTO producto (codigo, nombre, nota, valor, estado , direccion , telefono) VALUES ('$codigo', '$nombre, $nota', $valor, $estado , $direccion, $telefono )",
  94.                       GetSQLValueString($_POST['codigo'], "text"),
  95.                       GetSQLValueString($_POST['nombre'], "text"),
  96.                       GetSQLValueString($_POST['nota'], "text"),
  97.                       GetSQLValueString($_POST['valor'], "text"),
  98.                       GetSQLValueString($_POST['estado'], "text"),
  99.                       GetSQLValueString($_POST['direccion'], "text"),
  100.                       GetSQLValueString($_POST['telefono'], "text"));
  101.  
  102.  $insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
  103.                       GetSQLValueString($_POST['codigo'], "text"),
  104.                       GetSQLValueString($_POST['nombre'], "text"),
  105.                       GetSQLValueString($_POST['nota'], "text"),
  106.                       GetSQLValueString($_POST['valor'], "text"),
  107.                       GetSQLValueString($_POST['estado'], "text"),
  108.                       GetSQLValueString($_POST['direccion'], "text"),
  109.                       GetSQLValueString($_POST['telefono'], "text"),
  110.  
  111.  mysql_select_db($AQUIPONESTU, $conexion_producto);
  112.  $Result1 = mysql_query($insertSQL, $conexion_producto) or die(mysql_error());
  113.  
  114.  $insertGoTo = "validacion_de_registro.php";
  115.  if (isset($_SERVER['QUERY_STRING'])) {
  116.    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
  117.    $insertGoTo .= $_SERVER['QUERY_STRING'];
  118.  }
  119.  header(sprintf("Location: %s", $insertGoTo));
  120. }
  121. ?>
  122.  

Y QUINTA PARTE CREAREMOS EL ARCHIVO LLAMADO validacion_de_registro.php


Código
  1.   <?php require_once('conexiondb.php'); ?>
  2.    <?php
  3.    require_once("conexiondb.php");
  4.  
  5.    //******************************************************************
  6.    class Producto
  7.    {
  8.       //metodo para ingresar un nuevo registro///////////////////////////////////////////////////////////////////////////////////////////////////
  9.  
  10.       public function add_producto($codigo, $nombre, $nota, $valor, $estado , $direccion, $telefono)
  11.       {
  12.          // Valido si el registro ya se encuentra en la BD
  13.          $sql="SELECT * FROM producto WHERE codigo='$codigo'";
  14.   $sql="SELECT * FROM producto WHERE nobre='$nombre'";
  15.   $sql="SELECT * FROM producto WHERE nota='$nota'";
  16.   $sql="SELECT * FROM producto WHERE valor='$valor'";
  17.   $sql="SELECT * FROM producto WHERE estado='$estado'";
  18.   $sql="SELECT * FROM producto WHERE direccion='$direccion'";
  19.   $sql="SELECT * FROM producto WHERE telefono='$telefono'";
  20.          $res=mysql_query($sql,Conectar::con());
  21.          if(mysql_num_rows($res)>=1)
  22.          {
  23.             echo "<script type='text/javascript'>
  24.            alert('Registro ya se encuentra Registrado');
  25.            window.location='index.php';
  26.            </script>";
  27.          }
  28.          else
  29.          {
  30.             //Ingreso el nuevo registro////////////////////////////
  31.  
  32.          $sql="insert into tblcliente values                                                              (null,'$txtcedula','$txtapellidos','$txtnombres','$txtdireccion_hab','$txtdireccion_trab','$txtcodigo','$celular','$txttelefonotrab','$txtcorreo')";
  33.          $res=mysql_query($sql,Conectar::con());
  34.          echo "<script type='text/javascript'>
  35.         alert('Registro Ingresado con Exito');
  36.         window.location='AQUI PONES TU DIRECCIÓN';
  37.         </script>";
  38.          }
  39.       }
  40.  
  41.    }
  42.    ?>

En caso de que no sepas como hacerlo te facilito mi dirección de mi pagína web:

http://www.companynetwortinternetsecurityapp.es/

ESPERO QUE TE SEA DE TU AYUDA.




Solo recuerda que si le cambias el nombre a las cajas de texto, los datos se almacenan en lugares diferentes:

Por ejemplo si tienes:

Código
  1. <input type="text" id="direccion" name="direccion" />

Y lo cambias a :

Código
  1. <input type="text" id="direccion" name="codigo" />

Código
  1. $_POST["direccion"]; //deja de existir
  2. $_POST["codigo"]; //Ahora existe este

Hola usuario MinusFour

Es por decirte que tu información es correcta , pero solo puede hacerlo de la forma que lo e escrito yo.

Lo que tu comentas es que si el lo hubiera hecho de la manera que e escrito yo entonces podria hacer estas modificaciones.

Por esto le he dejado el codigo entero hecho por mi ya que soy Miembro Developer de  Apple y Google y ademas soy Analista programador .



Hola usuario MinusFour

Es por decirte que tu información es correcta , pero solo puede hacerlo de la forma que lo e escrito yo.

Lo que tu comentas es que si el lo hubiera hecho de la manera que e escrito yo entonces podria hacer estas modificaciones.

Por esto le he dejado el codigo entero hecho por mi ya que soy Miembro Developer de  Apple y Google y ademas soy Analista programador .

Lo que tu le comentas es que cambie las variables Dirección por Codigo.

Pero te equivocas
 YA QUE CADA UNO DE LOS CAMPOS DEL FORMULARIO TIENE QUE TENER SUS VARIABLES.

Seria asi

1- Tiene que definir las variables lo tendria que hacer asi.

$codigo, $nombre, $nota, $valor, $estado , $direccion, $telefono


Y el segundo punto es a lo que te refieres tu . PERO CON LAS VARIABLES YA DEFINIDAS.

Código
  1. $_POST["$codigo"];
  2. $_POST["$nombre"];
  3. $_POST["$nota"];
  4. $_POST["$valor"];
  5. $_POST["$estado"];
  6. $_POST["direccion"];
  7. $_POST["$telefono"];

Este seria el modo que tendria que hacerlo a tu manera .
Por esto le he facilitado el codigo entreo ya programado por mí para que lo pueda utilizar , sin ningun problema.


« Última modificación: 4 Septiembre 2014, 14:03 pm por #!drvy » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: problemas al ingresar datos con php
« Respuesta #11 en: 3 Septiembre 2014, 19:59 pm »

Yo que tú me checaba el código antes de postearlo así, nada más confundes a ::: Devil ::: y el chiste no es poner código sino que aprenda. Tienes un monton de errores por todos lados, sin mencionar que la lógica del script no tiene sentido.


En línea

hacker562

Desconectado Desconectado

Mensajes: 3


Developer Google and MAC


Ver Perfil WWW
Re: problemas al ingresar datos con php
« Respuesta #12 en: 4 Septiembre 2014, 13:35 pm »

Yo que tú me checaba el código antes de postearlo así, nada más confundes a ::: Devil ::: y el chiste no es poner código sino que aprenda. Tienes un monton de errores por todos lados, sin mencionar que la lógica del script no tiene sentido.

Minusforu .

Perdon que te diga pero no estoy equivocado y mi codigo no esta lleno de errores.
Como tu dices.

Y por lo contrario no trato de confundir a el usuario ::Devil::
Tampoco tengo que crequear mi codigo ya que esta completamente correcto y funcionando.

Y sobre lo del script: Si que tiene logica ya que havisa de cuando se han ingresado los datos y envia un mensage al usuario .

Por otra parte el codigo esta TOTALMENTE CORRECTO Y SIN NINGUN ERROR.

Ademas lo que tu le decias a el usuario de que cambie los nombres tampoco seria muy logico.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: problemas al ingresar datos con php
« Respuesta #13 en: 4 Septiembre 2014, 21:20 pm »

Minusforu .

Perdon que te diga pero no estoy equivocado y mi codigo no esta lleno de errores.
Como tu dices.

Y por lo contrario no trato de confundir a el usuario ::Devil::
Tampoco tengo que crequear mi codigo ya que esta completamente correcto y funcionando.

Y sobre lo del script: Si que tiene logica ya que havisa de cuando se han ingresado los datos y envia un mensage al usuario .

Por otra parte el codigo esta TOTALMENTE CORRECTO Y SIN NINGUN ERROR.

Ademas lo que tu le decias a el usuario de que cambie los nombres tampoco seria muy logico.


A ver pues...

1) En ningún momento he dicho que tenía que cambiar el nombre de los elementos del formulario o de sus entradas POST. Te invito a que te vuelvas a leer mis posts.

2) Tu código tiene errores de sintaxís:

Código
  1. $insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
  2.                       GetSQLValueString($_POST['codigo'], "text"),
  3.                       GetSQLValueString($_POST['nombre'], "text"),
  4.                       GetSQLValueString($_POST['nota'], "text"),
  5.                       GetSQLValueString($_POST['valor'], "text"),
  6.                       GetSQLValueString($_POST['estado'], "text"),
  7.                       GetSQLValueString($_POST['direccion'], "text"),
  8.                       GetSQLValueString($_POST['telefono'], "text"),

MAL.

Código
  1.  $insertSQL = sprintf(INSERT INTO producto (codigo, nombre, nota, valor, estado , direccion , telefono) VALUES ('$codigo', '$nombre, $nota', $valor, $estado , $direccion, $telefono )",
  2.                       GetSQLValueString($_POST['codigo'], "text"),
  3.                       GetSQLValueString($_POST['nombre'], "text"),
  4.                       GetSQLValueString($_POST['nota'], "text"),
  5.                       GetSQLValueString($_POST['valor'], "text"),
  6.                       GetSQLValueString($_POST['estado'], "text"),
  7.                       GetSQLValueString($_POST['direccion'], "text"),
  8.                       GetSQLValueString($_POST['telefono'], "text"));
  9.  
  10.  $insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
  11.                       GetSQLValueString($_POST['codigo'], "text"),
  12.                       GetSQLValueString($_POST['nombre'], "text"),
  13.                       GetSQLValueString($_POST['nota'], "text"),
  14.                       GetSQLValueString($_POST['valor'], "text"),
  15.                       GetSQLValueString($_POST['estado'], "text"),
  16.                       GetSQLValueString($_POST['direccion'], "text"),
  17.                       GetSQLValueString($_POST['telefono'], "text"),

MAL.

3) Errores de Lógica:

Hablando de SQL primero. Cierras la conexion SQL justo después de abrirla.

Código
  1. <?php
  2. $enlace =  mysql_connect('tulocalhost', 'tuusuario_mysql', 'tucontraseña_mysql');
  3. if (!$enlace) {
  4.    die('No pudo conectarse: ' . mysql_error());
  5. }
  6. echo 'Conectado satisfactoriamente';
  7. mysql_close($enlace);
  8. ?>

No solo esto, claramente tienes la conexion en $enlace (cerrada debo añadir) y luego usas la variable $conexion_producto como $enlace, cuando ni siquiera existe la variable.

En tu formulario no existen campos POST de nombre MM_insert, ni siquiera el formulario se llama así. Por lo que nunca se ejecuta parte de tu código.

::: Devil ::: jamás específico una tabla tblclientes, te la has sacado de no se donde y estoy seguro que algunos de los campos con los que trabajas en carrito tampoco existen.

Estoy seguro que errores hay más, sin mencionar la lógica dudosa. Como te he dicho, no confundas a ::: Devil ::: y no estes diciendo que tu código funciona si ni con sintaxís cumple.
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: problemas al ingresar datos con php
« Respuesta #14 en: 4 Septiembre 2014, 21:26 pm »

Citar
Es por decirte que tu información es correcta , pero solo puede hacerlo de la forma que lo e escrito yo.

Citar
Por esto le he dejado el codigo entero hecho por mi ya que soy Miembro Developer de  Apple y Google y ademas soy Analista programador .

Esos aires de creido no te van a traer nada bueno en este foro =)

Saludos
En línea

hacker562

Desconectado Desconectado

Mensajes: 3


Developer Google and MAC


Ver Perfil WWW
Re: problemas al ingresar datos con php
« Respuesta #15 en: 5 Septiembre 2014, 13:00 pm »

A ver pues...

1) En ningún momento he dicho que tenía que cambiar el nombre de los elementos del formulario o de sus entradas POST. Te invito a que te vuelvas a leer mis posts.

2) Tu código tiene errores de sintaxís:

Código
  1. $insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
  2.                       GetSQLValueString($_POST['codigo'], "text"),
  3.                       GetSQLValueString($_POST['nombre'], "text"),
  4.                       GetSQLValueString($_POST['nota'], "text"),
  5.                       GetSQLValueString($_POST['valor'], "text"),
  6.                       GetSQLValueString($_POST['estado'], "text"),
  7.                       GetSQLValueString($_POST['direccion'], "text"),
  8.                       GetSQLValueString($_POST['telefono'], "text"),

MAL.

Código
  1.  $insertSQL = sprintf(INSERT INTO producto (codigo, nombre, nota, valor, estado , direccion , telefono) VALUES ('$codigo', '$nombre, $nota', $valor, $estado , $direccion, $telefono )",
  2.                       GetSQLValueString($_POST['codigo'], "text"),
  3.                       GetSQLValueString($_POST['nombre'], "text"),
  4.                       GetSQLValueString($_POST['nota'], "text"),
  5.                       GetSQLValueString($_POST['valor'], "text"),
  6.                       GetSQLValueString($_POST['estado'], "text"),
  7.                       GetSQLValueString($_POST['direccion'], "text"),
  8.                       GetSQLValueString($_POST['telefono'], "text"));
  9.  
  10.  $insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
  11.                       GetSQLValueString($_POST['codigo'], "text"),
  12.                       GetSQLValueString($_POST['nombre'], "text"),
  13.                       GetSQLValueString($_POST['nota'], "text"),
  14.                       GetSQLValueString($_POST['valor'], "text"),
  15.                       GetSQLValueString($_POST['estado'], "text"),
  16.                       GetSQLValueString($_POST['direccion'], "text"),
  17.                       GetSQLValueString($_POST['telefono'], "text"),

MAL.

3) Errores de Lógica:

Hablando de SQL primero. Cierras la conexion SQL justo después de abrirla.

Código
  1. <?php
  2. $enlace =  mysql_connect('tulocalhost', 'tuusuario_mysql', 'tucontraseña_mysql');
  3. if (!$enlace) {
  4.    die('No pudo conectarse: ' . mysql_error());
  5. }
  6. echo 'Conectado satisfactoriamente';
  7. mysql_close($enlace);
  8. ?>

No solo esto, claramente tienes la conexion en $enlace (cerrada debo añadir) y luego usas la variable $conexion_producto como $enlace, cuando ni siquiera existe la variable.

En tu formulario no existen campos POST de nombre MM_insert, ni siquiera el formulario se llama así. Por lo que nunca se ejecuta parte de tu código.

::: Devil ::: jamás específico una tabla tblclientes, te la has sacado de no se donde y estoy seguro que algunos de los campos con los que trabajas en carrito tampoco existen.

Estoy seguro que errores hay más, sin mencionar la lógica dudosa. Como te he dicho, no confundas a ::: Devil ::: y no estes diciendo que tu código funciona si ni con sintaxís cumple.

Hola MinusFour.

Primero antes que nada decirte que sobre la conexion sql esta correcta.Como mucho puede hacer esto en lo de la conexion sql.

Código
  1.    <?php
  2.    $enlace =  mysql_connect('tulocalhost', 'tuusuario_mysql', 'tucontraseña_mysql');
  3.    if (!$enlace) {
  4.       die('No pudo conectarse: ' . mysql_error());
  5.    }
  6.    echo 'Conectado satisfactoriamente';
  7.  ?>

En segundo paso sobre el registro de datos del formulario esta correcto . Lo puede hacer asi.

Código
  1. <?php
  2. require_once('conexiondb.php');
  3. if (isset($_POST["codigo"])) {
  4. function validateName($name){
  5. $permitidos = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
  6. $caracter1KO = 0;
  7. for ($i=0; $i<strlen($name); $i++){
  8. if (strpos($permitidos, substr($name,$i,1))===false){
  9. $caracter1KO = 1;
  10. }
  11. }
  12. if ($caracter1KO == 1 || strlen($name) <= 4):
  13. return false;
  14. else:
  15. return true;
  16. endif;
  17. }
  18.  
  19. function validatenota($nota){
  20. $permitidos = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
  21. $caracterKO = 0;
  22. for ($i=0; $i<strlen($nota); $i++){
  23. if (strpos($permitidos, substr($nota,$i,1))===false){
  24. $caracterKO = 1;
  25. }
  26. }
  27. if ($caracterKO == 1 || strlen($nota) <= 4):
  28. return false;
  29. else:
  30. return true;
  31. endif;
  32. }
  33.  
  34.  
  35. function validateExistnota($nota){
  36.  
  37. $consulta= "select id_codigo from producto where nombre = '$nombre'";
  38. if (mysql_num_rows($resultado)>0)
  39. return false;
  40. else
  41. return true;
  42. }
  43.  
  44. function validatevalor($valor){
  45. if(strlen($valor) < 5 || strlen($valor) > 12)
  46. return false;
  47. else if(!preg_match("/^[0-9a-zA-Z]+$/", $valor))
  48. return false;
  49. else
  50. return true;
  51. }
  52.  
  53. function validateEmail($email){
  54.  
  55. if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
  56. if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {
  57. if (substr_count($email,".")>= 1){
  58. $term_dom = substr(strrchr ($email, '.'),1);
  59. if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
  60. $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
  61. $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
  62. if ($caracter_ult != "@" && $caracter_ult != "."){
  63. $mail_correcto = 1;
  64. }
  65. }
  66. }
  67. }
  68. }
  69. if ($mail_correcto)
  70. return true;
  71. else
  72. return false;
  73. }
  74.  
  75. function validateExisteMail($email){
  76.  
  77. $consulta2= "select id_codigo from producto where nota = '$email'";
  78. $resultado2=mysql_query($consulta2,$ilink2) or die (mysql_error());
  79. if (mysql_num_rows($resultado2)>0)
  80. return false;
  81. else
  82. return true;
  83. }
  84.  
  85.  
  86. $name = "";
  87. $nameValue = "";
  88. $nota = "";
  89. $notaValue = "";
  90. $valor = "";
  91. $email = "";
  92. $emailValue = "";
  93. $estado = "";
  94. $estadoValue = "";
  95. $telefono = "";
  96. $telefonoValue = "";
  97. $existEmail = "";
  98.  
  99. if(isset($_POST['send'])){
  100. if(!validateName($_POST['name']))
  101. $name = "error";
  102. if(!validatenota($_POST['nota']))
  103. $nota = "error";
  104. if(!validateExistnota($_POST['nota']))
  105. $existnota = "error";
  106. if(!validatevalor($_POST['valor']))
  107. $valor = "error";
  108. if(!validateEmail($_POST['email']))
  109. $email1 = "error";
  110. if(!validateExistMail($_POST['email']))
  111. $existEmail = "error";
  112. if(!validateestadeo($_POST['estado']))
  113. $estado = "error";
  114. if(!validatetelefono($_POST['telefono']))
  115. $telefono = "error";
  116.  
  117. $nameValue = $_POST['name'];
  118. $valor = $_POST['valor'];
  119. $codigo = $_POST['codigo'];
  120. $email = $_POST['email'];
  121. $estado = $_POST['estado'];
  122. $telefono = $_POST['telefono'];
  123.  
  124. if($name != "error" && $valor != "error" && $codigo != "error"  && $emailc != "error" && $estado != "error"
  125. && $telefono != "error"){
  126. if($existvalor == "error"){
  127. $existeU = 1;
  128. }
  129. if($existEmail == "error"){
  130. $existeE = 1;
  131. }
  132. if($existestado == "error"){
  133. $existeE = 1;
  134. }
  135. if($exitstelefono== "error"){
  136. $existeE = 1;
  137. }
  138. if($existcodigo == "error"){
  139. $existeE = 1;
  140. }
  141. if($existnombre == "error"){
  142. $existeE = 1;
  143. }
  144. }
  145.  
  146. if(mysql_affected_rows($resultado) == 1) {  
  147.  
  148.        $consulta = "INSERT INTO producto (codigo, nombre, nota, valor, estado , direccion , telefono) VALUES ('$codigo', '$nombre, $nota', $valor, $estado , $direccion, $telefono )";  
  149.  
  150.        $resultado = mysql_query($consulta,$conexion);  
  151.  
  152.  
  153.        if(!$resultado) {  
  154.  
  155.            echo "Se ha presentado un error al registrar el producto. <br> Por favor intentelo de nuevo";  
  156.  
  157.            $error = 1;  
  158.  
  159.            exit();  
  160.  
  161.  
  162.        } else {  
  163.  
  164.            $error = 2;  
  165.  
  166.        }  
  167.  
  168.    } else {  
  169.  
  170.        $error = 1;  
  171.  
  172.  
  173.  
  174.    }  
  175.  }
  176. }  
  177.  
  178. if($error == 2) {  
  179.  
  180.    echo "Se ha registrado el producto correctamente. Felicidades '$codigo', '$nombre' , '$valor' , '$estado' , '$email'";  
  181.  
  182. }  
  183. ?><?php if(!isset($status)): ?>
  184. <?php else: ?>
  185.    <!--<h1>El e-mail pasado es: <?php echo $email; ?> Y el error es: <?php echo $email; ?></h1> -->
  186.    <?php endif; ?>
  187.    <?php
  188. header ("Location: validacion_de_registro.php");
  189. ?>

Este seria la forma correcta para poder hacer el registro de datos.

DEL USUARIO ::DEVIL::

Porcierto gracias usuario MinusFour por decirme que tenia un fallo porque ahora me he dado cuenta de unas cosas . Posdata Gracias.

AHORA YA ESTA TOTALMENTE CORRECTO Y COMPROVADO. Y no quiereo liar al usuario ::Devil:: con el codigo solo le facilito el codigo por si quiere intentarlo de hacer
nuevamente.

Mi intencion no es que se lie , sino alcontrario ayudarle.



Esos aires de creido no te van a traer nada bueno en este foro =)

Saludos

No  es mi inteción de tener aires de creido. Alcontrario yo solo digo la verdad  y si me quieres bannear pues puedes hacerlo.

Posdata y si que soy Analista Programador y miembro Developer de apple y google. Asi que no hace falta que digas que voy de aires de Creido

Porque la verdad si quiereo no me hace falta ir de aires de CREIDO como dices tu . Puedo ser más bueno que tu de programador.

Y si me quieres BANNEAR pues BANEAME.
« Última modificación: 5 Septiembre 2014, 15:01 pm por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: problemas al ingresar datos con php
« Respuesta #16 en: 5 Septiembre 2014, 16:20 pm »

Por donde empezar...

Puedo ser más bueno que tu de programador.

Okay, vamos a tomarnos un reto y de paso de digo lo que haces mal xD.



Primero antes que nada decirte que sobre la conexion sql esta correcta.Como mucho puede hacer esto en lo de la conexion sql.

Como mucho, no, es lo que hay que hacer, no tiene ningún sentido abrir una conexión sql para imprimir "correcto" y cerrarla.



En segundo paso sobre el registro de datos del formulario esta correcto . Lo puede hacer asi.

Dices que esta correcto pero pegas un código totalmente diferente al anterior...



Veamos,

Tu primera función validateName() yo te la reduzco a 3 lineas ·_·

Código
  1. function validarNombre($name){
  2.  return (preg_match($name,'/^[a-z0-9\-\_]{4,}$/i')>0);
  3. }

Sobre la validatenota().. ¿ Has oído sobre eso de que las funciones son re-utilizables ? ¿ Te das cuenta que es absolutamente la misma que la de validateName() ?

Código
  1. function validateExistnota($nota){
  2.  
  3. $consulta= "select id_codigo from producto where nombre = '$nombre'";
  4. if (mysql_num_rows($resultado)>0)
  5. return false;
  6. else
  7. return true;
  8. }

Dígame señor Apple Developer y señor Analista programador, esa variable, esa tal $nombre, se declara por si sola por magia ? Dígame señor, la variable $resultado también ? La consulta mysql se ejecuta sola ?

Y de nuevo, tu función validatevalor() te la reduzco a 3 lineas.
Código
  1. function validateValor($valor){
  2.  return (preg_match('/^[0-9a-z]{5,12}$/i',$valor) > 0);
  3. }

Y tu función validateEmail() es una bazofia (ademas no es valida para los nuevos tlds) teniendo en cuenta que PHP ya cuenta con filtros de ese tipo.. de nuevo, 3 lineas ..

Código
  1. function validarEmail($email){
  2.  return (filter_var($email, FILTER_VALIDATE_EMAIL) ? true : false);
  3. }


Ahhh y de nuevo..

Código
  1. function validateExisteMail($email){
  2.  
  3. $consulta2= "select id_codigo from producto where nota = '$email'";
  4. $resultado2=mysql_query($consulta2,$ilink2) or die (mysql_error());
  5. if (mysql_num_rows($resultado2)>0)
  6. return false;
  7. else
  8. return true;
  9. }

Seguro que el $ilink2, se declara solito xD Por no hablar de la inyección sql que tienes ahí xD



La logica del IF a partir de la linea 99 del código que has pegado es inútil. Si no llego a enviar "send" nunca llegara a comprobar los campos.. y "send" se puede quitar muy facil modificando el POST antes del envió..

Por otra parte...

Código
  1. if(mysql_affected_rows($resultado) == 1) {

Sigue sin tener sentido.. ya que no haces la consulta en ningún lado .. pero bue.. y luego 2 lineas mas abajo tienes sqli tan grande como una casa.

En la linea 180 tienes XSS... y parece que nadie te ha hablado de que los headers se envían ANTES de imprimir (linea 188)...



Después de ver tu código, después de ver que usas expresiones regulares en un sitio y puro PHP en otro.. después de ver que usas 3 tipos de IF's... deduzco que no tienes NPI idea de lo que estas haciendo... y tampoco tienes idea de como funciona todo eso..  estoy 99% seguro que eres un copy/paster de esos que van copiando y pegando códigos de donde puedan.

AHORA YA ESTA TOTALMENTE CORRECTO Y COMPROVADO

Una *****. Ese script no funcionara ni aunque el mundo se acabe xD

Posdata y si que soy Analista Programador y miembro Developer de apple y google. Asi que no hace falta que digas que voy de aires de Creido

No me importa si eres analista programador o si pagas 99$ cada año a Apple para poder desarrollar apps para iOS. Eso no te hace mejor que nadie de aquí y no te da derecho a despreciar el trabajo de nadie.

Deberías mirarte el significado de creído porque intentas decir que no lo eres pero tus palabras dicen que lo eres xD.

http://lema.rae.es/drae/?val=creido

En fin.. ahh y respecto a tu web, intenta no copiar datos de otros sitios quieres ? Es poco profesional =)



PD: No te voy a banear, y tampoco he dicho que lo vaya hacer. Deja de montarte películas.

Saludos
« Última modificación: 5 Septiembre 2014, 16:58 pm por #!drvy » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Java
chuystoty 9 106,392 Último mensaje 20 Mayo 2012, 06:13 am
por ELMED
Ingresar datos en tabla MySQL con vb.NET
.NET (C#, VB.NET, ASP)
Eavesdropping 4 16,423 Último mensaje 25 Abril 2012, 17:29 pm
por Eavesdropping
Ingresar y Mostrar Datos VB6
Programación Visual Basic
do-while1 2 2,116 Último mensaje 20 Noviembre 2012, 04:49 am
por do-while1
error al ingresar datos en phpadmin
PHP
elman1989 4 2,411 Último mensaje 8 Diciembre 2014, 06:18 am
por daRk_Link0
Problemas con Vb6 al ingresar datos
Programación Visual Basic
Aeros 2 1,744 Último mensaje 4 Noviembre 2018, 00:13 am
por Aeros
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines