[Php-avanzado] Comillas escapadas...
Silverzero
silverzero.52 en gmail.com
Mar Mar 16 23:34:00 ARST 2010
Hola a todos,
Tengo un problema en el sitio de mi tesis.
En el php.ini hay: php_flag magic_quotes_gpc 0, y antes de insertar a
la DB utilizo mysql_real_escape_string.
Cuando el form no pasa la validación, imprime las advertencias e
imprime los campos que ya fueron completados, y éstos (aca viene el
problema) si contienen comillas simples las escapa y si hay comillas
dobles, todo el texto que encierran desaparece y en su lugar imprime
una barra invertida.
Ya hablé con el soporte del hosting y dicen que probaron poner
php_flag magic_quotes_gpc 0 de manera global, pero aún así no
funcionó. Probé instalando todo el sitio en otro hosting y sin embargo
sigue sucediendo lo mismo.
Acá les envío el formulario, pero lo resumí con un campo sólo, para
que sea más fácil la lectura.
Saludos!
<?php
//valor vacío asi no imprime errores cuando no encuentra definida la variable
$l_titulo="";
if (isset($_POST['pub_lug'])){
$seccion="lugares";
$l_titulo=$_POST['titulo'];
//valida
if ($l_titulo==""){
$l_alertTit="<span class=\"warning\">No te olvides de
completar el nombre del lugar.</span>";
}else{
$l_titulo=mysql_real_escape_string($titulo);
$sql="INSERT INTO $seccion SET
titulo='$l_titulo'
fecha=NOW();";
$result=mysql_query($sql,$link)or die(mysql_error());
print "Publicacion exitosa";
//doy valor vacío a los campos para q no se impriman luego
de enviado
$l_titulo="";
}
}
?>
<form action="user.php?req=pub#lugares" method="post"
enctype="multipart/form-data" name="form">
<label>Nombre del lugar</label>
<?php print $l_alertTit; ?>
<input name="titulo" type="text" value="<?php print $l_titulo; ?>" />
<input name="pub_lug" type="submit" class="bttn" value="Publicar"
id="pub_lug" />
</form>
--
Carolina Derromediz
Cel. +54 223 5301599
Más información sobre la lista de distribución Php-avanzado