Foros del Web » Programando para Internet » PHP »

Problema PhP

Estas en el tema de Problema PhP en el foro de PHP en Foros del Web. Buenas a todos, tengo este problema tengo esa consulta Cita: $query = 'INSERT INTO usuarios (usuario, password, email, fecha, nombre, edad, ciudad, profesion,activate,estado) VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\ ...
  #1 (permalink)  
Antiguo 09/07/2008, 10:31
 
Fecha de Ingreso: junio-2008
Mensajes: 8
Antigüedad: 15 años, 10 meses
Puntos: 0
Problema PhP

Buenas a todos, tengo este problema tengo esa consulta
Cita:
$query = 'INSERT INTO usuarios (usuario, password, email, fecha, nombre, edad, ciudad, profesion,activate,estado)
VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\ ',\''.date("Y-m-d").'\',\''.$nombre.'\',\''.$edad.'\',\''.$ciudad. '\',\''.$profesion.'\',\''.$activate.'\',1)';
mysql_query($query) or die(mysql_error());
que hace parte de todo un codigo que encontre en este foro para hacer un registro de usuarios, al subirla al servidor este problema me pone
Cita:
Column count doesn't match value count at row 1
se supone que lso cmapos no coinciden con lso que tenog en mi base de datos, pero esos mismos 10 campos los tngo, les dejo el codigo completo haber si alguien podria encontrar el error
Cita:
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
$conexion=mysql_connect('lexus.worldispnetwork.com ','pulsar_webmaster','straightedge')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('pulsar_login')or die ('Error al seleccionar la Base de Datos: '.mysql_error());


//añadimos la funcion que se encargara de generar un numero aleatorio
function genera_random($longitud){
$exp_reg="[^A-Z0-9]";
return substr(eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())),
0, $longitud);
}



// verificamos si se han enviado ya las variables necesarias, las que tenemos en nuestro form cambialo, como sea el tuyo.
if (isset($_POST["username"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$password2 = $_POST["password2"];
$email = $_POST["email"];
$nombre = $_POST["nombre"];
$edad = $_POST["edad"];
$ciudad = $_POST["ciudad"];
$profesion = $_POST["profesion"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$password2==NUL L|$email==NULL) {
echo "un campo está vacio.";
formRegistrar();
}else{
// ¿Coinciden las contraseñas?
if($password!=$password2) {
echo "Las contraseñas no coinciden";

}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0) {
echo "La cuenta de correo estan ya en uso";

}else{
if ($username_exist>0) {
echo "El nombre de usuario esta ya en uso";



}else{

//agregamos la variable $activate que es un numero aleatorio de
//20 digitos crado con la funcion genera_random de mas arriba

$activate = genera_random(20);

//aqui es donde insertamos los nuevos valosres en la BD activate y el valor 1 que es desactivado

$query = 'INSERT INTO usuarios (usuario, password, email, fecha, nombre, edad, ciudad, profesion,activate,estado)
VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\ ',\''.date("Y-m-d").'\',\''.$nombre.'\',\''.$edad.'\',\''.$ciudad. '\',\''.$profesion.'\',\''.$activate.'\',1)';
mysql_query($query) or die(mysql_error());



echo "<table width=70%><tr bgcolor= #61e877 class= estilo30><div align=center>";
echo 'Ha sido registrado en Nuestra pagina. como: <b>'.$username.' </b>de manera satisfactoria.<br />';
echo ' Gracias. Le enviaremos ahora un email<br />';
echo 'para activar su cuenta, al correo que nos facilito.<br />';
echo "</div></tr>";
echo "</table>";



$query = "SELECT * FROM usuarios WHERE usuario='$username'";
$result = mysql_query($query , $conexion) or die ( mysql_error() );
$row = mysql_fetch_array($result);

$path="http://www.produccionespulsar.com/pruebaphp2/activacioncuenta.php"; //creamos nuestra direccion, con las carpetas que sean si hay
//armamos nuestro link para enviar por mail en la variable $activateLink
$activateLink=$path."activacioncuenta.php?id=".$ro w['id']."&activateKey=".$activate."";

// Datos del email

$nombre_origen = "Producciones pulsar";
$email_origen = "[email protected]";
$email_copia = "[email protected]";
$email_ocultos = "[email protected]";
$email_destino = "[email protected]";



$asunto = "".$row['usuario']." Datos de su registro.";

$mensaje = '<table width="629" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="623" align="left"></td>
</tr>
<tr>
<td bgcolor="#2EA354"><div style="color:#FFFFFF; font-size:14; font-family: Arial, Helvetica, sans-serif; text-transform: capitalize; font-weight: bold;"><strong> Estos son sus datos de registro, '.$row['usuario'].'</strong></div></td>
</tr>
<tr>
<td height="95" align="left" valign="top"><div style=" color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; margin-bottom:3px;"> USUARIO: '.$row['usuario'].'</strong><br><br><br>
<strong>SU CLAVE : </strong>'.$row['password'].'</strong><br><br><br>
<strong>SU EMAIL : </strong>'.$row['email'].'</strong><br><br><br>
<strong>SU LINK DE ACTIVACION:<br><a href="'.$activateLink.'">'.$activateLink.' </strong></a><br><br><br>
<strong>POR FAVOR HAGA CLICK EN LINK DE ARRIBA PARA ACTIVAR SU CUENRA Y ACCEDER A LA PAGINA SIN RESTRICCIONES</strong><br><br><br>
<strong>SI EL LINK NO FUNCIONA ALA PRIMERA INTENTELO UNA SEGUNDA, EL SERVIDOR A VECES TARDA EN PROCESAR LA PRIMERA ORDEN</strong><br><br><br>

<strong>GRACIAS POR REGISTRARSE EN CEVIT.</strong><br><br><br>
</div>
</td>
</tr>
</table>';



$formato = "html";

//************************************************** ***************//
$headers = "From: $nombre_origen <$email_origen> \r\n";
$headers .= "Return-Path: <$email_origen> \r\n";
$headers .= "Reply-To: $email_origen \r\n";


$headers .= "X-Sender: $email_origen \r\n";

$headers .= "X-Priority: 3 \r\n";
$headers .= "MIME-Version: 1.0 \r\n";
$headers .= "Content-Transfer-Encoding: 7bit \r\n";

//************************************************** ***************//

if($formato == "html")
{ $headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n"; }
else
{ $headers .= "Content-Type: text/plain; charset=iso-8859-1 \r\n"; }

@mail($email_destino, $asunto, $mensaje, $headers);







}
}
}
}
}else{

}

?>
<form action="../produccionespulsar.com/pruebaphp2/registrar.php" method="post">
Nombre:
<input type="text" name="nombre" size="30" maxlength="40" /><br />
Edad:
<input type="text" name="edad" size="3" maxlength="2" /><br />
Ciudad:
<input type="text" name="ciudad" size="20" maxlength="20" /><br />
Profesion:
<input type="text" name="profesion" size="20" maxlength="15" /><br />
Usuario (max 20):
<input type="text" name="username" size="20" maxlength="20" /><br />
Password (max 10):
<input type="password" name="password" size="10" maxlength="10" />
Confirma: <input type="password" name="password2" size="10" maxlength="10" /><br />
Email (max 40):
<input type="text" name="email" size="20" maxlength="40" /><br />
<input type="submit" value="Registrar" />
</form>

<FORM ACTION=../pruebaphp/&ldquo;validar_usuario.php&rdquo; METHOD=“post”>
Usuario : <INPUT TYPE=“text” NAME=“usuario” SIZE=20 MAXLENGTH=20><br />
Password: <INPUT TYPE=“password” NAME=“password” SIZE=10 MAXLENGTH=20><br />
<INPUT TYPE="submit" VALUE="Ingresar">
</FORM>
  #2 (permalink)  
Antiguo 09/07/2008, 10:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema PhP

El error lo que te indica es que estas enviando mas o menos valores de los que listas, por ejemplo:
Código:
INSERT INTO usuarios (campo1, campo2) VALUES ('valor1')
ó:
Código:
INSERT INTO usuarios (campo1, campo2) VALUES ('valor1', 'valor2','valor3')
Necesitas enviar exactamente los mismos valores.

Saludos.
  #3 (permalink)  
Antiguo 09/07/2008, 11:13
 
Fecha de Ingreso: junio-2008
Mensajes: 8
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema PhP

he hay el problema esque he insertado los mismos valores 10 en la consulta y 10 que hay en la tabla de mi base de datos, sera que el problema estara en el campo estado?
  #4 (permalink)  
Antiguo 09/07/2008, 11:55
 
Fecha de Ingreso: junio-2008
Mensajes: 8
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema PhP

podria ser que en el campo estado que lo tenog marcado como 1 el 1 deberia llevar comillas simple o dobles?, le puse comillas simples y me vota un error T_number peor con comilla simple funciona pero cuanod uno acaba de registrarse y da enviar formulario dice pagina no encontrada...espero ayuda de alguien porfavor.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:33.