Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: ::: Devil ::: en 17 Julio 2014, 20:21 PM

Título: problemas al ingresar datos con php
Publicado por: ::: Devil ::: en 17 Julio 2014, 20:21 PM
hola buenas tardes estoy tratando de ingresar unos datos a mi base de datos la cual lleva como nombre carrito

tiene carrito producto y usuarios

con los campos

id nombre codigo nota valor estado

entonces tengo esto

conexion.php

Código (php) [Seleccionar]
<?php
$conexion 
mysql_connect("localhost""root""") or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db("carrito"$conexion);
?>


insert1.php

Código (php) [Seleccionar]
<?php
require("conexion.php");
// insertarmos el registro
mysql_query("INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)");
// obtenemos el ID del registro
echo mysql_insert_id();
?>


insert2.php

Código (php) [Seleccionar]
<?php
require("conexion.php");
require(
"funciones.php");
$status "";

if (isset(
$_POST["codigo"])) {
$nombre sqlValue($_POST["codigo"], "text");
$direccion sqlValue($_POST["nombre"], "text");
$telefono sqlValue($_POST["nota"], "text");
$direccion sqlValue($_POST["valor"], "text");
$direccion sqlValue($_POST["estado"], "text");

$sql "INSERT INTO producto (codigo, nombre, nota, valor, estado) ";
    
$sql.= "VALUES ('".$codigo."', '".$nombre."', '".$nota.", '".$valor.", '".$estado."')";

echo $sql;

mysql_query($sql$conexion);
$status "ok";
}
?>

<!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>PHP con MySQL: Insertar datos en MySQL</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3>Nueva Empresa</h3>
<?php if ($status == "ok") { ?>
<p class="confirm">Registro guardado correctamente</p>
<?php ?>
<form method="post" id="frEmpresa" action="insert-demo2.php">
<label for="nombre">codigo</label>
    <input type="text" id="nombre" name="nombre" />
    <br />
    <label for="direccion">nombre</label>
    <input type="text" id="direccion" name="direccion" />
    <br />
    <label for="telefono">nota</label>
    <input type="text" id="telefono" name="telefono" />
    <br />
    <label for="telefono">valor</label>
    <input type="text" id="telefono" name="telefono" />
    <br />
    <label for="telefono">estado</label>
    <input type="text" id="telefono" name="telefono" />
    <br />
    <label for="bts">&nbsp;</label>
    <button type="submit">Guardar</button>
    <button type="reset">Limpiar</button>
</form>
</body>
</html>


funciones.php

Código (php) [Seleccionar]
<?php
function getParam($param$default) {
$result $default;
if (isset($param)) {
  
$result = (get_magic_quotes_gpc()) ? $param addslashes($param);
}
return $result;
}
function 
sqlValue($value$type) {
  
$value get_magic_quotes_gpc() ? stripslashes($value) : $value;
  
$value function_exists("mysql_real_escape_string") ? mysql_real_escape_string($value) : mysql_escape_string($value);
  switch (
$type) {
    case 
"text":
      
$value = ($value != "") ? "'" $value "'" "NULL";
      break;
    case 
"int":
      
$value = ($value != "") ? intval($value) : "NULL";
      break;
    case 
"double":
      
$value = ($value != "") ? "'" doubleval($value) . "'" "NULL";
      break;
    case 
"date":
      
$value = ($value != "") ? "'" $value "'" "NULL";
      break;
  }
  return 
$value;
}
?>


no me da error en ningun lado pero cuando le doy agregar pareciera que los agrega y limpia el formulario pero nada que ver no ingresa los datos
Título: Re: problemas al ingresar datos con php
Publicado por: MinusFour en 17 Julio 2014, 20:38 PM
¿Tienes un formulario de datos de personas y estas metiendo los datos a la tabla producto? ¿Eso está bien?

Tienes variables que ni siquiera están ahí, $nota, $valor, $estado, $codigo. Nunca se declararon ni nada y tienes $dirección asignando valores multiples veces (borrando lo que haya tenido antes de su nueva asignación).
Título: Re: problemas al ingresar datos con php
Publicado por: ::: Devil ::: en 17 Julio 2014, 20:57 PM
sas hay estoy en 0, no tendras un ejemplo por hay no tan complicado que me pases por fa
Título: Re: problemas al ingresar datos con php
Publicado por: MinusFour en 17 Julio 2014, 21:04 PM
Código (php) [Seleccionar]

if (isset($_POST["codigo"])) {
$codigo = sqlValue($_POST["codigo"], "text");
$nombre = sqlValue($_POST["nombre"], "text");
$nota = sqlValue($_POST["nota"], "text");
$valor = sqlValue($_POST["valor"], "text");
$estado = sqlValue($_POST["estado"], "text");

$sql = "INSERT INTO tabla (campo1, campo2, campo3, campo4, campo5) ";
       $sql.= "VALUES ('".$codigo."', '".$nombre."', '".$nota.", '".$valor.", '".$estado."')";

echo $sql;

mysql_query($sql, $conexion);
$status = "ok";
}
?>


Presta mucha atención a:

Código (sql) [Seleccionar]

INSERT INTO tabla (campo1, campo2, campo3, campo4, campo5)


Tiene que hacer match con lo que tienes en tu base de datos (la tabla a la que quieres guardar los datos, y los campos respectivos de esa tabla)
Título: Re: problemas al ingresar datos con php
Publicado por: ::: Devil ::: en 17 Julio 2014, 21:37 PM
bueno ve acabo de modificar todo mira como lo tengo

conexion.php

Código (php) [Seleccionar]
<?php
$conexion 
mysql_connect("localhost""root""") or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db("carrito"$conexion);
?>



funciones.php

Código (php) [Seleccionar]
<?php
function getParam($param$default) {
$result $default;
if (isset($param)) {
  
$result = (get_magic_quotes_gpc()) ? $param addslashes($param);
}
return $result;
}
function 
sqlValue($value$type) {
  
$value get_magic_quotes_gpc() ? stripslashes($value) : $value;
  
$value function_exists("mysql_real_escape_string") ? mysql_real_escape_string($value) : mysql_escape_string($value);
  switch (
$type) {
    case 
"text":
      
$value = ($value != "") ? "'" $value "'" "NULL";
      break;
    case 
"int":
      
$value = ($value != "") ? intval($value) : "NULL";
      break;
    case 
"double":
      
$value = ($value != "") ? "'" doubleval($value) . "'" "NULL";
      break;
    case 
"date":
      
$value = ($value != "") ? "'" $value "'" "NULL";
      break;
  }
  return 
$value;
}
?>


insert-demo1.php

Código (php) [Seleccionar]
<?php
require("conexion.php");
// insertarmos el registro
mysql_query("INSERT INTO producto (codigo, nombre, nota) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)");
// obtenemos el ID del registro
echo mysql_insert_id();
?>



insert-demo2.php

Código (php) [Seleccionar]
<?php
require("conexion.php");
$status "";
if (isset(
$_POST["codigo"])) {
$codigo $_POST["codigo"];
$nombre $_POST["nombre"];
$nota $_POST["nota"];

$sql "INSERT INTO producto (codigo, nombre, nota) ";
    
$sql.= "VALUES ('".$codigo."', '".$nombre."', '".$nota."')";

mysql_query($sql$conexion);
$status "ok";
}
?>

<!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>PHP con MySQL: Insertar datos en MySQL</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3>Nueva Empresa</h3>
<?php if ($status == "ok") { ?>
<p class="confirm">Registro guardado correctamente</p>
<?php ?>
<form method="post" id="frEmpresa" action="insert-demo2.php">
<label for="nombre">Nombre</label>
    <input type="text" id="nombre" name="nombre" />
    <br />
    <label for="direccion">Direcci&oacute;n</label>
    <input type="text" id="direccion" name="direccion" />
    <br />
    <label for="telefono">Telefono</label>
    <input type="text" id="telefono" name="telefono" />
    <br />
    <label for="bts">&nbsp;</label>
    <button type="submit">Guardar</button>
    <button type="reset">Limpiar</button>
</form>
</body>
</html>



insert-demo3.php

Código (php) [Seleccionar]
<?php
require("conexion.php");
require(
"funciones.php");
$status "";

if (isset(
$_POST["codigo"])) {
$nombre sqlValue($_POST["codigo"], "text");
$direccion sqlValue($_POST["nombre"], "text");
$telefono sqlValue($_POST["nota"], "text");

$sql "INSERT INTO producto (codigo, nombre, nota) ";
    
$sql.= "VALUES ('".$codigo."', '".$nombre."', '".$nota."')";

echo $sql;

mysql_query($sql$conexion);
$status "ok";
}
?>

<!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>PHP con MySQL: Insertar datos en MySQL</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3>Nueva Empresa</h3>
<?php if ($status == "ok") { ?>
<p class="confirm">Registro guardado correctamente</p>
<?php ?>
<form method="post" id="frEmpresa" action="insert-demo3.php">
<label for="nombre">Nombre</label>
    <input type="text" id="nombre" name="nombre" />
    <br />
    <label for="direccion">Direcci&oacute;n</label>
    <input type="text" id="direccion" name="direccion" />
    <br />
    <label for="telefono">Telefono</label>
    <input type="text" id="telefono" name="telefono" />
    <br />
    <label for="bts">&nbsp;</label>
    <button type="submit">Guardar</button>
    <button type="reset">Limpiar</button>
</form>
</body>
</html>



lo acomode asi no le ingrese mas campos solo esos 3 para probar pero nada todavia sigue sin ingresar campos
Título: Re: problemas al ingresar datos con php
Publicado por: MinusFour en 17 Julio 2014, 21:41 PM
Cambia:

Código (php) [Seleccionar]

mysql_query($sql, $conexion);


por

Código (php) [Seleccionar]

mysql_query($sql, $conexion) or die(mysql_error($conexion));


Y vuelve a intentar y a ver si te sale un error.
Título: Re: problemas al ingresar datos con php
Publicado por: ::: Devil ::: en 17 Julio 2014, 21:43 PM
no me da error ni tampoco me agrega nada a la base de datos
Título: Re: problemas al ingresar datos con php
Publicado por: MinusFour en 17 Julio 2014, 22:00 PM
No creo que entiendas como funcionan las variables POST.

Cuando tu tienes un formulario que tiene un metodo post, el servidor recoge los inputs y los pone en la variable superglobal $_POST.

Por ejemplo:

Código (html4strict) [Seleccionar]
<input type="text" id="direccion" name="direccion" />

El servidor recoge el input de nombre (name en Inglés) dirección y lo pone en $_POST para que lo accedas así: $_POST["direccion"]

Tus dos códigos no funcionan por esto:

Código (php) [Seleccionar]

if (isset($_POST["codigo"]))


Este código basicamente dice: Si se envio algún input de nombre codigo...

ejecuta:

Código (php) [Seleccionar]

$codigo = $_POST["codigo"];
$nombre = $_POST["nombre"];
$nota = $_POST["nota"];

$sql = "INSERT INTO producto (codigo, nombre, nota) ";
   $sql.= "VALUES ('".$codigo."', '".$nombre."', '".$nota."')";

mysql_query($sql, $conexion);
$status = "ok";


Ahora, la pregunta del millón de dolares... ¿Tu crees que se ejecute este código?
Título: Re: problemas al ingresar datos con php
Publicado por: ::: Devil ::: en 17 Julio 2014, 22:13 PM
ya mi pana no te arreches con decirme cambiale el nombre a las cajas de texto valia jajajajaja  ;D
Título: Re: problemas al ingresar datos con php
Publicado por: MinusFour en 17 Julio 2014, 22:19 PM
Cita de: ::: Devil ::: en 17 Julio 2014, 22:13 PM
ya mi pana no te arreches con decirme cambiale el nombre a las cajas de texto valia jajajajaja  ;D

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 (html4strict) [Seleccionar]
<input type="text" id="direccion" name="direccion" />

Y lo cambias a :

Código (html4strict) [Seleccionar]
<input type="text" id="direccion" name="codigo" />

Código (php) [Seleccionar]
$_POST["direccion"]; //deja de existir
$_POST["codigo"]; //Ahora existe este
Título: Re: problemas al ingresar datos con php
Publicado por: hacker562 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:
Código (php) [Seleccionar]

<?php
$enlace 
=  mysql_connect('tulocalhost''tuusuario_mysql''tucontraseña_mysql');
if (!
$enlace) {
    die(
'No pudo conectarse: ' mysql_error());
}
echo 
'Conectado satisfactoriamente';
mysql_close($enlace);
?>



TERCERA PARTE CREAREMOS EL ARCHIVO LLAMADO Registro.html

Código (html4strict) [Seleccionar]
<!doctype html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PHP con MySQL: Insertar datos en MySQL</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3>Nueva Empresa</h3>
<p class="confirm">Registro guardado correctamente</p>

<p>
<p><form method="post" id="frEmpresa" action="insertar_registro.php"><table width="510" height="222" border="0">
 <tr>
   <td width="143">codigo</td>
   <td width="357"><input type="text" id="codigo" name="codigo" /><?php print ('Campo Obligatorio'); ?></td>
 </tr>
 <tr>
   <td>nombre</td>
   <td><input type="text" id="nombre" name="nombre" />
     <?php print ('Campo Obligatorio'); ?></td>
 </tr>
 <tr>
   <td>nota</td>
   <td><input type="text" id="nota" name="nota" />
     <?php print ('Campo Obligatorio'); ?></td>
 </tr>
 <tr>
   <td>estado</td>
   <td><input type="text" id="estado" name="estado" />
     <?php print ('Campo Obligatorio'); ?></td>
 </tr>
 <tr>
   <td>direccion</td>
   <td><input type="text" id="direccion" name="direccion" />
     <?php print ('Campo Obligatorio'); ?></td>
 </tr>
 <tr>
   <td>Telefono</td>
   <td><input type="text" id="Telefono" name="Telefono" />
     <?php print ('Campo Obligatorio'); ?></td>
 </tr>
 <tr>
   <td><button type="submit">Ingresar Datos</button></td>
   <td><button type="reset">Limpiar</button></td>
 </tr>
</table></form></p>
</body>
</html>



CUARTA PARTE CREAREMOS EL ARCHIVO LLAMADO insertar_registro.php

Código (php) [Seleccionar]
<?php require_once('conexiondb.php'); ?>
<?php
function GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}

function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO producto (codigo, nombre, nota, valor, estado, direccion , telefono)  VALUES  VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['codigo'], "text"),
                       
GetSQLValueString($_POST['nombre'], "text"),
                       
GetSQLValueString($_POST['nota'], "text"),
                       
GetSQLValueString($_POST['valor'], "text"),
                       
GetSQLValueString($_POST['estado'], "text"),
                       
GetSQLValueString($_POST['direccion'], "text"),
                       
GetSQLValueString($_POST['telefono'], "text"),
                       

  
$insertSQL sprintf(""INSERT INTO carrito (codigonombrenotavalorestadoVALUES ('Apple''1 Infinite Loop, Cupertino'899610)",
                       GetSQLValueString(
$_POST['codigo'], "text"),
                       GetSQLValueString(
$_POST['nombre'], "text"),
                       GetSQLValueString(
$_POST['nota'], "text"),
                       GetSQLValueString(
$_POST['valor'], "text"),
                       GetSQLValueString(
$_POST['estado'], "text"),
                       GetSQLValueString(
$_POST['direccion'], "text"),
                       GetSQLValueString(
$_POST['telefono'], "text"),


  
$insertGoTo = "insertar_registro.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("
Location: %s", $insertGoTo));
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL = sprintf(INSERT INTO producto (codigo, nombre, nota, valor, estado , direccion , telefono) VALUES ('$codigo', '$nombre$nota', $valor$estado , $direccion$telefono )",
                       
GetSQLValueString($_POST['codigo'], "text"),
                       
GetSQLValueString($_POST['nombre'], "text"),
                       
GetSQLValueString($_POST['nota'], "text"),
                       
GetSQLValueString($_POST['valor'], "text"),
                       
GetSQLValueString($_POST['estado'], "text"),
                       
GetSQLValueString($_POST['direccion'], "text"),
                       
GetSQLValueString($_POST['telefono'], "text"));

  
$insertSQL sprintf(""INSERT INTO carrito (codigonombrenotavalorestadoVALUES ('Apple''1 Infinite Loop, Cupertino'899610)",
                       GetSQLValueString(
$_POST['codigo'], "text"),
                       GetSQLValueString(
$_POST['nombre'], "text"),
                       GetSQLValueString(
$_POST['nota'], "text"),
                       GetSQLValueString(
$_POST['valor'], "text"),
                       GetSQLValueString(
$_POST['estado'], "text"),
                       GetSQLValueString(
$_POST['direccion'], "text"),
                       GetSQLValueString(
$_POST['telefono'], "text"),

  mysql_select_db(
$AQUIPONESTU$conexion_producto);
  
$Result1 = mysql_query($insertSQL$conexion_producto) or die(mysql_error());

  
$insertGoTo = "validacion_de_registro.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("
Location: %s", $insertGoTo));
}
?>



Y QUINTA PARTE CREAREMOS EL ARCHIVO LLAMADO validacion_de_registro.php


Código (php) [Seleccionar]
  <?php require_once('conexiondb.php'); ?>
   <?php
    
require_once("conexiondb.php");
     
    
//******************************************************************
    
class Producto
    
{
       
//metodo para ingresar un nuevo registro///////////////////////////////////////////////////////////////////////////////////////////////////
       
       
public function add_producto($codigo$nombre$nota$valor$estado $direccion$telefono)
       {
          
// Valido si el registro ya se encuentra en la BD
          
$sql="SELECT * FROM producto WHERE codigo='$codigo'";
   $sql="SELECT * FROM producto WHERE nobre='$nombre'";
   $sql="SELECT * FROM producto WHERE nota='$nota'";
   $sql="SELECT * FROM producto WHERE valor='$valor'";
   $sql="SELECT * FROM producto WHERE estado='$estado'";
   $sql="SELECT * FROM producto WHERE direccion='$direccion'";
   $sql="SELECT * FROM producto WHERE telefono='$telefono'";
          
$res=mysql_query($sql,Conectar::con());
          if(
mysql_num_rows($res)>=1)
          {
             echo 
"<script type='text/javascript'>
            alert('Registro ya se encuentra Registrado');
            window.location='index.php';
            </script>"
;
          }
          else
          {
             
//Ingreso el nuevo registro////////////////////////////
             
          
$sql="insert into tblcliente values                                                              (null,'$txtcedula','$txtapellidos','$txtnombres','$txtdireccion_hab','$txtdireccion_trab','$txtcodigo','$celular','$txttelefonotrab','$txtcorreo')";
          
$res=mysql_query($sql,Conectar::con());
          echo 
"<script type='text/javascript'>
         alert('Registro Ingresado con Exito');
         window.location='AQUI PONES TU DIRECCIÓN';
         </script>"
;
          }
       }
 
    }
    
?>


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

http://www.companynetwortinternetsecurityapp.es/ (http://www.companynetwortinternetsecurityapp.es/)

ESPERO QUE TE SEA DE TU AYUDA.





Cita de: MinusFour en 17 Julio 2014, 22:19 PM
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 (html4strict) [Seleccionar]
<input type="text" id="direccion" name="direccion" />

Y lo cambias a :

Código (html4strict) [Seleccionar]
<input type="text" id="direccion" name="codigo" />

Código (php) [Seleccionar]
$_POST["direccion"]; //deja de existir
$_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 .




Cita de: hacker562 en  3 Septiembre 2014, 18:39 PM
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 (php) [Seleccionar]
$_POST["$codigo"];
$_POST["$nombre"];
$_POST["$nota"];
$_POST["$valor"];
$_POST["$estado"];
$_POST["direccion"];
$_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.
Título: Re: problemas al ingresar datos con php
Publicado por: MinusFour 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.
Título: Re: problemas al ingresar datos con php
Publicado por: hacker562 en 4 Septiembre 2014, 13:35 PM
Cita de: MinusFour 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.

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.
Título: Re: problemas al ingresar datos con php
Publicado por: MinusFour en 4 Septiembre 2014, 21:20 PM
Cita de: hacker562 en  4 Septiembre 2014, 13:35 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 (php) [Seleccionar]

$insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
                       GetSQLValueString($_POST['codigo'], "text"),
                       GetSQLValueString($_POST['nombre'], "text"),
                       GetSQLValueString($_POST['nota'], "text"),
                       GetSQLValueString($_POST['valor'], "text"),
                       GetSQLValueString($_POST['estado'], "text"),
                       GetSQLValueString($_POST['direccion'], "text"),
                       GetSQLValueString($_POST['telefono'], "text"),


MAL.

Código (php) [Seleccionar]

  $insertSQL = sprintf(INSERT INTO producto (codigo, nombre, nota, valor, estado , direccion , telefono) VALUES ('$codigo', '$nombre, $nota', $valor, $estado , $direccion, $telefono )",
                       GetSQLValueString($_POST['codigo'], "text"),
                       GetSQLValueString($_POST['nombre'], "text"),
                       GetSQLValueString($_POST['nota'], "text"),
                       GetSQLValueString($_POST['valor'], "text"),
                       GetSQLValueString($_POST['estado'], "text"),
                       GetSQLValueString($_POST['direccion'], "text"),
                       GetSQLValueString($_POST['telefono'], "text"));

  $insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
                       GetSQLValueString($_POST['codigo'], "text"),
                       GetSQLValueString($_POST['nombre'], "text"),
                       GetSQLValueString($_POST['nota'], "text"),
                       GetSQLValueString($_POST['valor'], "text"),
                       GetSQLValueString($_POST['estado'], "text"),
                       GetSQLValueString($_POST['direccion'], "text"),
                       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 (php) [Seleccionar]

<?php
$enlace 
=  mysql_connect('tulocalhost''tuusuario_mysql''tucontraseña_mysql');
if (!
$enlace) {
    die(
'No pudo conectarse: ' mysql_error());
}
echo 
'Conectado satisfactoriamente';
mysql_close($enlace);
?>


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.
Título: Re: problemas al ingresar datos con php
Publicado por: #!drvy en 4 Septiembre 2014, 21:26 PM
CitarEs por decirte que tu información es correcta , pero solo puede hacerlo de la forma que lo e escrito yo.

CitarPor 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
Título: Re: problemas al ingresar datos con php
Publicado por: hacker562 en 5 Septiembre 2014, 13:00 PM
Cita de: MinusFour en  4 Septiembre 2014, 21:20 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 (php) [Seleccionar]

$insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
                      GetSQLValueString($_POST['codigo'], "text"),
                      GetSQLValueString($_POST['nombre'], "text"),
                      GetSQLValueString($_POST['nota'], "text"),
                      GetSQLValueString($_POST['valor'], "text"),
                      GetSQLValueString($_POST['estado'], "text"),
                      GetSQLValueString($_POST['direccion'], "text"),
                      GetSQLValueString($_POST['telefono'], "text"),


MAL.

Código (php) [Seleccionar]

 $insertSQL = sprintf(INSERT INTO producto (codigo, nombre, nota, valor, estado , direccion , telefono) VALUES ('$codigo', '$nombre, $nota', $valor, $estado , $direccion, $telefono )",
                      GetSQLValueString($_POST['codigo'], "text"),
                      GetSQLValueString($_POST['nombre'], "text"),
                      GetSQLValueString($_POST['nota'], "text"),
                      GetSQLValueString($_POST['valor'], "text"),
                      GetSQLValueString($_POST['estado'], "text"),
                      GetSQLValueString($_POST['direccion'], "text"),
                      GetSQLValueString($_POST['telefono'], "text"));

 $insertSQL = sprintf(""INSERT INTO carrito (codigo, nombre, nota, valor, estado) VALUES ('Apple', '1 Infinite Loop, Cupertino', 899610)",
                      GetSQLValueString($_POST['codigo'], "text"),
                      GetSQLValueString($_POST['nombre'], "text"),
                      GetSQLValueString($_POST['nota'], "text"),
                      GetSQLValueString($_POST['valor'], "text"),
                      GetSQLValueString($_POST['estado'], "text"),
                      GetSQLValueString($_POST['direccion'], "text"),
                      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 (php) [Seleccionar]

<?php
$enlace 
=  mysql_connect('tulocalhost''tuusuario_mysql''tucontraseña_mysql');
if (!
$enlace) {
    die(
'No pudo conectarse: ' mysql_error());
}
echo 
'Conectado satisfactoriamente';
mysql_close($enlace);
?>


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 (php) [Seleccionar]
   <?php
    $enlace 
=  mysql_connect('tulocalhost''tuusuario_mysql''tucontraseña_mysql');
    if (!
$enlace) {
       die(
'No pudo conectarse: ' mysql_error());
    }
    echo 
'Conectado satisfactoriamente';
  
?>


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

Código (php) [Seleccionar]
<?php 
require_once('conexiondb.php'); 
if (isset(
$_POST["codigo"])) {
function 
validateName($name){
$permitidos "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
$caracter1KO 0;
for (
$i=0$i<strlen($name); $i++){
if (
strpos($permitidossubstr($name,$i,1))===false){
$caracter1KO 1;
}
}
if (
$caracter1KO == || strlen($name) <= 4):
return 
false;
else:
return 
true;
endif;
}
 
function 
validatenota($nota){
$permitidos "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
$caracterKO 0;
for (
$i=0$i<strlen($nota); $i++){
if (
strpos($permitidossubstr($nota,$i,1))===false){
$caracterKO 1;
}
}
if (
$caracterKO == || strlen($nota) <= 4):
return 
false;
else:
return 
true;
endif;
}
 
 
function 
validateExistnota($nota){

$consulta"select id_codigo from producto where nombre = '$nombre'";
if (
mysql_num_rows($resultado)>0)
return 
false;
else
return 
true;
}
 
function 
validatevalor($valor){
if(
strlen($valor) < || strlen($valor) > 12)
return 
false;
else if(!
preg_match("/^[0-9a-zA-Z]+$/"$valor))
return 
false;
else
return 
true;
}
 
function 
validateEmail($email){
 
if ((
strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
if ((!
strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {
if (
substr_count($email,".")>= 1){
$term_dom substr(strrchr ($email'.'),1);
if (
strlen($term_dom)>&& strlen($term_dom)<&& (!strstr($term_dom,"@")) ){
$antes_dom substr($email,0,strlen($email) - strlen($term_dom) - 1);
$caracter_ult substr($antes_dom,strlen($antes_dom)-1,1);
if (
$caracter_ult != "@" && $caracter_ult != "."){
$mail_correcto 1;
}
}
}
}
}
if (
$mail_correcto)
return 
true;
else
return 
false;
}
 
function 
validateExisteMail($email){
 
$consulta2"select id_codigo from producto where nota = '$email'";
$resultado2=mysql_query($consulta2,$ilink2) or die (mysql_error());
if (
mysql_num_rows($resultado2)>0)
return 
false;
else
return 
true;
}
 
 
$name "";
$nameValue "";
$nota "";
$notaValue "";
$valor "";
$email "";
$emailValue "";
$estado "";
$estadoValue "";
$telefono "";
$telefonoValue "";
$existEmail "";

if(isset(
$_POST['send'])){
if(!
validateName($_POST['name']))
$name "error";
if(!
validatenota($_POST['nota']))
$nota "error";
if(!
validateExistnota($_POST['nota']))
$existnota "error";
if(!
validatevalor($_POST['valor']))
$valor "error";
if(!
validateEmail($_POST['email']))
$email1 "error";
if(!
validateExistMail($_POST['email']))
$existEmail "error";
if(!
validateestadeo($_POST['estado']))
$estado "error";
if(!
validatetelefono($_POST['telefono']))
$telefono "error";

$nameValue $_POST['name'];
$valor $_POST['valor'];
$codigo $_POST['codigo'];
$email $_POST['email'];
$estado $_POST['estado'];
$telefono $_POST['telefono'];
 
if(
$name != "error" && $valor != "error" && $codigo != "error"  && $emailc != "error" && $estado != "error" 
&& $telefono != "error"){
if(
$existvalor == "error"){
$existeU 1;
}
if(
$existEmail == "error"){
$existeE 1;
}
if(
$existestado == "error"){
$existeE 1;
}
if(
$exitstelefono== "error"){
$existeE 1;
}
if(
$existcodigo == "error"){
$existeE 1;
}
if(
$existnombre == "error"){
$existeE 1;
}
}
 
if(
mysql_affected_rows($resultado) == 1) {  
  
        
$consulta "INSERT INTO producto (codigo, nombre, nota, valor, estado , direccion , telefono) VALUES ('$codigo', '$nombre$nota', $valor$estado , $direccion$telefono )";  
  
        
$resultado mysql_query($consulta,$conexion);  
  
  
        if(!
$resultado) {  
  
            echo 
"Se ha presentado un error al registrar el producto. <br> Por favor intentelo de nuevo";  
  
            
$error 1;  
  
            exit();  
  
  
        } else {  
  
            
$error 2;  

        }  
  
    } else {  
   
        
$error 1;  
  
       
  
    }  
  }
}  
  
if(
$error == 2) {  
  
    echo 
"Se ha registrado el producto correctamente. Felicidades '$codigo', '$nombre' , '$valor' , '$estado' , '$email'";  
    
}  
?>
<?php if(!isset($status)): ?>
<?php else: ?>
   <!--<h1>El e-mail pasado es: <?php echo $email?> Y el error es: <?php echo $email?></h1> -->
   <?php endif; ?>
   <?php
header 
("Location: validacion_de_registro.php");
?>


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.




Cita de: #!drvy en  4 Septiembre 2014, 21:26 PM
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.
Título: Re: problemas al ingresar datos con php
Publicado por: #!drvy en 5 Septiembre 2014, 16:20 PM
Por donde empezar...

Cita de: hacker562 en  5 Septiembre 2014, 13:00 PMPuedo ser más bueno que tu de programador.

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




Cita de: hacker562 en  5 Septiembre 2014, 13:00 PMPrimero 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.




Cita de: hacker562 en  5 Septiembre 2014, 13:00 PMEn 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 (php) [Seleccionar]
function validarNombre($name){
 return (preg_match($name,'/^[a-z0-9\-\_]{4,}$/i')>0);
}


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() ?

Cita de: hacker562 en  5 Septiembre 2014, 13:00 PM
Código (php,3) [Seleccionar]
function validateExistnota($nota){

$consulta= "select id_codigo from producto where nombre = '$nombre'";
if (mysql_num_rows($resultado)>0)
return false;
else
return true;
}

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 (php) [Seleccionar]
function validateValor($valor){
 return (preg_match('/^[0-9a-z]{5,12}$/i',$valor) > 0);
}


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

Código (php) [Seleccionar]
function validarEmail($email){
 return (filter_var($email, FILTER_VALIDATE_EMAIL) ? true : false);
}



Ahhh y de nuevo..

Cita de: hacker562 en  5 Septiembre 2014, 13:00 PM
Código (php,4) [Seleccionar]
function validateExisteMail($email){

$consulta2= "select id_codigo from producto where nota = '$email'";
$resultado2=mysql_query($consulta2,$ilink2) or die (mysql_error());
if (mysql_num_rows($resultado2)>0)
return false;
else
return true;
}

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...

Cita de: hacker562 en  5 Septiembre 2014, 13:00 PM
Código (php) [Seleccionar]
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.

Cita de: hacker562 en  5 Septiembre 2014, 13:00 PMAHORA YA ESTA TOTALMENTE CORRECTO Y COMPROVADO

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

Cita de: hacker562 en  5 Septiembre 2014, 13:00 PMPosdata 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 =)

(http://i.elhacker.net/i?i=RRUhvtG8HMcj7nV8h0eNmWVo)

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

Saludos