Foros del Web » Programando para Internet » PHP »

Simbolo "&" se corta en POST php!

Estas en el tema de Simbolo "&" se corta en POST php! en el foro de PHP en Foros del Web. Hola foreros! la situación es la siguiente, tengo un formulario en el que subo texto a una tabla en mysql texto que luego presento en ...
  #1 (permalink)  
Antiguo 16/12/2011, 15:30
 
Fecha de Ingreso: octubre-2010
Mensajes: 136
Antigüedad: 14 años
Puntos: 4
Pregunta Simbolo "&" se corta en POST php!

Hola foreros! la situación es la siguiente, tengo un formulario en el que subo texto a una tabla en mysql texto que luego presento en otra página, pues este texto son object embed como este:
Código HTML:
<object width="426" height="350" type="application/x-shockwave-flash" data="http://www.youtube.com/v/l1hF-VS1bGs&feature=related"><param name="movie" value="http://www.youtube.com/v/l1hF-VS1bGs&feature=related" /></object> 
El problema es ke cuando doy enviar el texto este se me corta hasta el simbolo "&" y queda asi
Código HTML:
<object width="426" height="350" type="application/x-shockwave-flash" data="http://www.youtube.com/v/l1hF-VS1bGs
Este es el script que uso para postear el texto
Código PHP:
<?php


//$id = $_POST['id'];
$text1 $_GET['text1'];
$text2 $_GET['text2'];
$text3 $_GET['text3'];
$user $_GET["user"];
$banda $_GET["banda"];


require(
'conexion.php');


$sql "INSERT INTO `texto` (`video1`,`video2`,`video3`) VALUES ('$text1', '$text2', '$text3');";

mysql_query("SET NAMES utf8");
$result mysql_query($sql);

mysql_close($con);

?>
Necesito saber que tengo que agregar para que no me haga eso...GRACIAS
__________________
Ser o conocer ese es el dilema...
  #2 (permalink)  
Antiguo 16/12/2011, 15:36
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Simbolo "&" se corta en POST php!

en la url del object que guardas en la bd no pasas las variables que mandas al script

$text1 = $_GET['text1'];
$text2 = $_GET['text2'];
$text3 = $_GET['text3'];
$user = $_GET["user"];
$banda = $_GET["banda"];

como muestras el object ???es decir como lo llamas a la bd y lo muestras?


imagino que el script son datos que recojes del object verdad?
  #3 (permalink)  
Antiguo 16/12/2011, 15:46
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Simbolo "&" se corta en POST php!

prueba a guardarlo asi

$object = '<object width="426" height="350" type="application/x-shockwave-flash" data="http://www.youtube.com/v/l1hF-VS1bGs&feature=related"><param name="movie" value="http://www.youtube.com/v/l1hF-VS1bGs&feature=related" /></object> ';

y en el insert el valor es $object
$sql = "INSERT INTO tabla (objeto) VALUES ($object);";
  #4 (permalink)  
Antiguo 16/12/2011, 17:07
Avatar de leo_  
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años, 7 meses
Puntos: 11
Respuesta: Simbolo "&" se corta en POST php!

Hola yo lo haria algo asi:
Código PHP:
<form method="post" action="index.php">
<input type="text" name="text"></input>
<input type="submit"></input>
</form>
<?php
if (isset($_POST['text'])){
    
$text mysql_real_escape_string($_POST['text']);
    
$link mysql_connect('host','user','pass');
    
mysql_select_db('db',$link);
    
$sql "insert into test (id,contenido) values (null,'$text')";
                    
    
$resul mysql_query($sql);
    if (
$resul) {
        
$x mysql_insert_id();
        
$resul mysql_query("select * from test where id = $x");
        
$text mysql_fetch_assoc($resul);
        echo 
"<pre>";
        
print_r(htmlspecialchars($text['contenido']));
        echo 
"</pre>";
    } else {
        echo 
mysql_error();
    }
}
Igualmente por POST o por GET no tuve problemas puede ser q tu navegador no haga urlencode tipo
Código url:
Ver original
  1. index.php?text=<object+width%3D"426"+height%3D"350"+type%3D"application%2Fx-shockwave-flash"+data%3D"http%3A%2F%2Fwww.youtube.com%2Fv%2Fl1hF-VS1bGs%26feature%3Drelated"><param+name%3D"movie"+value%3D"http%3A%2F%2Fwww.youtube.com%2Fv%2Fl1hF-VS1bGs%26feature%3Drelated"+%2F><%2Fobject>+
es lo q se me ocurre q pueda pasar. Espero q te sea de ayuda. Saludos.

Última edición por leo_; 16/12/2011 a las 17:21
  #5 (permalink)  
Antiguo 17/12/2011, 03:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Simbolo "&" se corta en POST php!

Al parecer no estás usando método post, sino get, que es donde obtienes las variables: $_GET y, sí, el ampersand (&) es separador de variables, por eso te corta el texto en cuanto aparece uno, tomando todo lo siguiente como otra variable.

1- O envias el formulario realmente por post
2- O escapas tus variables usando urlencode()
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: corta, formulario, mysql, post, simbolo, sql, tabla
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 15:46.