Foros del Web » Programando para Internet » PHP »

Duda

Estas en el tema de Duda en el foro de PHP en Foros del Web. <?php // Inicio de sessión session_start(); // Servidor de la Base de Datos $servidorBD=""; // Usuario de la Base de Datos $usuarioBD=""; // Contraseña de ...
  #1 (permalink)  
Antiguo 06/04/2006, 03:49
 
Fecha de Ingreso: abril-2005
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
Duda

<?php
// Inicio de sessión
session_start();

// Servidor de la Base de Datos
$servidorBD="";
// Usuario de la Base de Datos
$usuarioBD="";
// Contraseña de la Base de Datos
$passBD="";
// Nombre de la Base de Datos
$nombreBD="";
// Conecto con la base de datos
$conectar = mysql_connect($servidorBD,$usuarioBD,$passBD) or die ("Imposible conectar con la base de datos");
// Selecciono la BBDD
mysql_select_db($nombreBD,$conectar) or die ("Imposible conectar con la base de datos");


function quitar($mensaje)
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}

if(trim($_POST["nick"]) != "" && trim($_POST["email"]) != "")
{
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($_POST["nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo 'Error, nick escogido por otro usuario
<br>
<a href="formulario.html?'. SID .'">Registro</a>
';
}
else
{
$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";
$sql .= "'".quitar($_POST["nick"])."'";
$sql .= ",md5('".quitar($_POST["password"])."')";
$sql .= ",'".quitar($_POST["nombre"])."'";
$sql .= ",'".quitar($_POST["email"])."'";
$sql .= ")";
mysql_query($sql);
echo 'Registro exitoso!
<br>
<a href="index.php?'. SID .'">Index</a>
';
}
mysql_free_result($result);
}
else
{
echo 'Debe llenar como minimo los campos de email y password
<br>
<a href="formulario.html?'. SID .'">Registro</a>
';
}
mysql_close();
?>





Siguiendo el procedimiento me sale este error en el archivo registrar.php

Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING

/registrar.php on line 29

ésto sucede cuando trato de ingresar un usuario en index.php

¿Alguien sabe xq puede ser?¿problema con la base de datos?¿la sintaxis de la funcion trim está mal?
Gracias por su respuesta.
  #2 (permalink)  
Antiguo 06/04/2006, 04:28
 
Fecha de Ingreso: abril-2005
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
¿nadie lo sconsigo solucionabe?supongo que será un fallo tonto, pero llevo 2 horas y no consigo solucionarlo, si alguien lo sabe q por favor responda.
  #3 (permalink)  
Antiguo 06/04/2006, 06:19
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Parece que el inconveniente se encuentra en la función quitar():

function quitar($mensaje){
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","\\",$mensaje);
return $mensaje;
}
cambia y nos comentas
  #4 (permalink)  
Antiguo 06/04/2006, 06:40
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 18 años, 3 meses
Puntos: 1
Gildor:
En lugar de utilizar es función "quitar" deberías utilizar las funciones que tiene php para el tratamiento de cadenas, como htmlentities() y stripslashes().
Te dejo los links al manual de php donde se explica el uso de estas funciones:

htmlentities()
stripslashes()
addslashes()

Saludos.
__________________
¿Se me entiende la letra?
  #5 (permalink)  
Antiguo 06/04/2006, 08:08
 
Fecha de Ingreso: abril-2005
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
Muchas gracias

Gracias, ahora lo arreglé tios, os debo una cena, jejeje, asi da gusto, muchas gracias de verdad, ahora tengo problemas para logearme pero lo tengo que mirar, q lo acabo de descubrir ahora, muchas gracias.Si alguna vez teneís vosotros alguna duda y os puedo ayudar, no dudeis en decirmelo, y en la medida de mis posibilidades os ayudaré. Gracias de nuevo.
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 23:44.