mantener espacios en blanco

Iniciado por guillegf84, 12 Octubre 2010, 18:44 PM

0 Miembros y 1 Visitante están viendo este tema.

guillegf84

Hola,
Estoy usando una variable $usuarios que la grabo con el valor que me da un formulario utilizando $usuarios=$_POST["usuarios"]. Si meto ese valor en la base de datos me funciona bien, pero si lo muestro por pantalla solo es imprime lo que hay antes del primer espacio. Vamos si el valor es "Juan Antonio" solo se imprime "Juan"

Como puedo solucionar esto??

Muchas gracias!

Shell Root

No entiendo, por ejemplo mira mi PoC, funciona correctamente.
Código (php) [Seleccionar]
<form action='index.php' method='POST'>
<input type='text' name='txtPoC' />
<input type='submit' value='enviar' name='btnEnviar' />
</form>
<?php

    $sPoC 
$_POST['txtPoC'];
    echo 
$sPoC;

?>
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

cassiani

guille postea el código que estas usando para que lo revisemos.

guillegf84

Cierto, lo tenía que haber puesto....

Aquí lo dejo:
<form action="paneldecontrol.php#tabs-3" method="post">

<select name="usuarios">
<option value="">Seleccione un ITEM</option>";
<?php
$SQLconsulta_usuario="SELECT * FROM usuarios ORDER BY usuario ASC";
$consulta_usuario=mysql_query($SQLconsulta_usuario);

$usuarios $_POST["usuarios"];
While($registro_usuario=mysql_fetch_array($consulta_usuario)){

if ($registro_usuario[usuario] == $usuarios){
echo "<option value=$registro_usuario[usuario] selected>$registro_usuario[usuario]</option>\n";
}else{
echo "<option value=$registro_usuario[usuario]>$registro_usuario[usuario]</option>\n";
}

}

   echo "</select>\n\n";
?>

   
   <input type="submit" value="Ver Selección"/>
   <?php
   echo "</form>";
   
   if (isset($_POST["usuarios"])) {
$usuarios $_POST["usuarios"];

if($usuarios==NULL){
echo "Has dado al botón sin seleccionar nada.<br/><br/>";
}else{
echo "Has selecionado <b>".$usuarios."</b><br/><br/>";
}
}
   
   mysql_free_result($consulta_usuario); // Liberar memoria usada por consulta.    

?>


Cualquier posible mejora se agradece!!!

Shell Root

Código (php) [Seleccionar]

<form action="paneldecontrol.php#tabs-3" method="post">
  <select name="usuarios">
    <option value="">Seleccione un ITEM</option>";
    <?php    
      $SQLconsulta_usuario
="SELECT * FROM usuarios ORDER BY usuario ASC";
      
$consulta_usuario mysql_query($SQLconsulta_usuario);
      
$usuarios $_POST['usuarios'];
      while(
$registro_usuario mysql_fetch_array($consulta_usuario)){
        if (
$registro_usuario['usuario'] == $usuarios){
          echo 
"<option value='$registro_usuario[\'usuario\']' selected> $registro_usuario['usuario']</option>\n";
        }else{
          echo 
"<option value='$registro_usuario[\'usuario\']'> $registro_usuario['usuario']</option>\n";
        }
      }
    
?>

  </select>
  <input type="submit" value="Ver Selección"/>
</form>
  <?php
    
if (isset($_POST['usuarios'])){
      
$usuarios $_POST['usuarios'];
      if(empty(
$usuarios)){
        echo 
"Has dado al botón sin seleccionar nada.<br/><br/>";
      }else{
        echo 
"Has selecionado <b>".$usuarios."</b><br/><br/>";
      }
    }
    
mysql_free_result($consulta_usuario); // Liberar memoria usada por consulta.           

  
?>
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

guillegf84

Perdón por la tardanza....

No tengo mucha idea de desarrollo de páginas web, posiblemente sea una burrada, pero... que diferencia hay entre??
   $usuarios = $_POST["usuarios"];
   $usuarios = $_POST['usuarios'];

   value='$registro_usuario[\'usuario\']'
   value=$registro_usuario[usuario]

¿¿Lo que hace hacía que funcionara mal era: value='$registro_usuario[usuario]'?? pq??
¿que diferencia hay entre '...' y "..."?

Muchas gracias ante todo!!!!!!!!!!!

Una última cosa, el código
Código (php) [Seleccionar]
value='$registro_usuario[\'usuario\']' da el error error: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\paneldecontrol.php on line 254

lo he puesto así y funciona:
Código (php) [Seleccionar]
value='$registro_usuario[usuario]'

Las barras son para cosas de seguridad no?

Muchas gracias de nuevo!

~ Yoya ~

no, no son para seguridad ni nada de eso....

Te recomiendo leer PHP porque al parecer no sabes nada...
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Shell Root

#7
Nada de raro, es igual.
Cita de: guillegf84 en 14 Octubre 2010, 16:56 PM
Código (php) [Seleccionar]
$usuarios = $_POST["usuarios"];
$usuarios = $_POST['usuarios'];

Es para escapar la comilla simple,
Cita de: guillegf84 en 14 Octubre 2010, 16:56 PM
Código (php) [Seleccionar]
value='$registro_usuario[\'usuario\']';
es decir, no es correcto hacer,
Código (php) [Seleccionar]
value='$registro_usuario['usuario']';
porque como ves, cierras y abres las comillas simples de mal forma. Lo correcto sería,
Código (php) [Seleccionar]
value='$registro_usuario[\'usuario\']';
Código (php) [Seleccionar]
value='$registro_usuario["usuario"]';

Con respecto a,
Cita de: guillegf84 en 14 Octubre 2010, 16:56 PM
Código (php) [Seleccionar]
value='$registro_usuario[\'usuario\']'
supongo que os falta en ; al final. xD así,
Cita de: guillegf84 en 14 Octubre 2010, 16:56 PM
Código (php) [Seleccionar]
value='$registro_usuario[\'usuario\']';


Cita de: ~ Yoya ~ en 14 Octubre 2010, 16:59 PM...al parecer no sabes nada...
+1
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.