PDA

Ver la Versión Completa : duda agreando usuario a la base de datos


alachaise
26-11-2004, 21:09:25
tengo un sistema para agregar un usuario a la base de datos tengo una taba

CREATE TABLE usuarios (
id bigint(7) NOT NULL auto_increment,
nick char(100) NOT NULL,
password char(100) NOT NULL,
nombre char(255) default NULL,
email char(100) default NULL,
KEY id (id))



<FORM ACTION="registrar.php" METHOD="post">
Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20>
<BR>
Email: <INPUT TYPE="text" NAME="email" SIZE=28 MAXLENGTH=100>
<BR>
Password: <INPUT TYPE="password" NAME="password" SIZE=28 MAXLENGTH=20>
<BR>
Nombre: <INPUT TYPE="text" NAME="nombre" SIZE=28 MAXLENGTH=255>
<BR>
<INPUT TYPE="submit" CLASS="boton" VALUE="Registrar">
</FORM>





//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.
include("conex.php");
$link=Conectarse();

function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',""",$mensaje);
$mensaje = str_replace("<A href="http://////","/",$mensaje" target=_blank>\\\\","\",$mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "")
{
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, nick escogido por otro usuario";
}
else
{
$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";
$sql .= ")";
mysql_query($sql);
echo "Registro exitoso!";
}
mysql_free_result($result);
}
else
{
echo "Debe llenar como minimo los campos de email y password";
}
mysql_close();





function Conectarse()
{
if (!($link=mysql_connect("localhost","root","")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("user",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}





y me da este error

Parse error: parse error, unexpected '"' in c:\appserv\www\php ver\a ver\registrar.php on line 12



este es el error Parse error: parse error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\appserv\www\php ver\a ver\registrar.php on line 17

podria publicar mi aplicacion completa el problema es que lei un articulo de una aplicacion parecida a la mia y tengo las paginas ya echas y casi todas me dan error

saludos alachaise

roman
26-11-2004, 22:58:48
Estos son los casos en los que el coloreado de texto es verdaderamente maravilloso. ¿Te has fijado como de pronto aparece texto en rojo que debería ser de otro color?


El error comienza en la cuarta línea de la función quitar():


$mensaje = str_replace('\"',""",$mensaje);


Al ver las tres comillas dobles seguidas PHP toma las dos primeras como una cadena vacía y la tercera como el comienzo de otra cadena. Así que todo lo que le siga será parte de la cadena hasta que líneas abajo encuentre otra comilla doble.

Si lo que deseas es especificar el caracter " tienes que escaparlo:

"\""

// Saludos