problemas al ingresar datos con php

Iniciado por ::: Devil :::, 17 Julio 2014, 20:21 PM

0 Miembros y 2 Visitantes están viendo este tema.

hacker562

#10
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 (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/

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.

MinusFour

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.

hacker562

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.

MinusFour

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.

#!drvy

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

hacker562

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

#!drvy

#16
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) 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 =)



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

Saludos