Foros del Web » Programando para Internet » PHP »

Duda

Estas en el tema de Duda en el foro de PHP en Foros del Web. Hola, tengo el siguiente código: <?php // Inicio de sessión session_start(); // Servidor de la Base de Datos $servidorBD="localhost"; // Usuario de la Base de ...
  #1 (permalink)  
Antiguo 18/04/2006, 11:41
 
Fecha de Ingreso: abril-2005
Mensajes: 53
Antigüedad: 12 años, 8 meses
Puntos: 0
Duda

Hola, tengo el siguiente código:

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

// Servidor de la Base de Datos
$servidorBD="localhost";
// Usuario de la Base de Datos
$usuarioBD="diego";
// Contraseña de la Base de Datos
$passBD="220382";
// Nombre de la Base de Datos
$nombreBD="mia";
// 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["nb"]) != "" && trim($_POST["mail"]) != "")
{
$sql = "SELECT id_c FROM mia WHERE nb='".quitar($_POST["nb"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo 'Error, nombre escogido por otro usuario
<br>
<a href="formulario.html?'. SID .'">Registro</a>
';
}
else
{
$sql = "INSERT INTO mia (nb,cnt,ap,mail,dir,pob,pa,emp,tfn,fx,pu) VALUES (";
$sql .= "'".quitar($_POST["nb"])."'";
$sql .= ",md5('".quitar($_POST["cnt"])."')";
$sql .= ",'".quitar($_POST["ap"])."'";
$sql .= ",'".quitar($_POST["mail"])."'";
$sql .= ",'".quitar($_POST["dir"])."'";
$sql .= ",'".quitar($_POST["pob"])."'";
$sql .= ",'".quitar($_POST["pa"])."'";
$sql .= ",'".quitar($_POST["emp"])."'";
$sql .= ",'".quitar($_POST["tfn"])."'";
$sql .= ",'".quitar($_POST["fx"])."'";
$sql .= ",'".quitar($_POST["pu"])."'";
$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 contraseña
<br>
<a href="formulario.html?'. SID .'">Registro</a>
';
}
mysql_close();
?>

y me da este error:
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\apachefriends\xampp\htdocs\registrar.php on line 29
y no consigo subsanarlo, alguien me lo puede solucionar??
  #2 (permalink)  
Antiguo 18/04/2006, 12:02
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
Hay un error en la línea:

$mensaje = str_replace("\\\\","\",$mensaje);
Al colocar "\", la \ delante de " le indica a php que " debe ser tomada como un caracter común y no como el fin de la cadena.

Debería ser:

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

Igualmente, no te recomiendo que utilices esa funcion, hay funciones que trae php para ese propósito:
strip_slashes()
addslashes()
htmlentities()
html_entity_decode().

Saludos.
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 16:20.