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($permitidos, substr($name,$i,1))===false){
$caracter1KO = 1;
}
}
if ($caracter1KO == 1 || 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($permitidos, substr($nota,$i,1))===false){
$caracterKO = 1;
}
}
if ($caracterKO == 1 || 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) < 5 || 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)>1 && strlen($term_dom)<5 && (!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.