Foros del Web » Programando para Internet » PHP »

problema con canvio de variable

Estas en el tema de problema con canvio de variable en el foro de PHP en Foros del Web. hola tengo un scrip en el cual tengo una duda, la cual es que no logro hacer que una variable cambie a su ultimo valor ...
  #1 (permalink)  
Antiguo 10/06/2011, 05:03
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
problema con canvio de variable

hola tengo un scrip en el cual tengo una duda, la cual es que no logro hacer que una variable cambie a su ultimo valor

bueno tex es un text area donde he colocado 4 lineas, las cuales son puestas en un array en la variable $lineas, despues ese array se va a repetir poniendo su valor actual en un input de nombre source,

pero no entiendo por que solo pone la primera linea?
siendo que deberia de poner una sobre la otra y alfinal quedaria el ultimo valor del array

encambio en los 4 inputs de abajo que leen cada una de las lineas se muestra que si se pueden leer esas variables

alguna idea de como lograr que leea todos los valores del array y que deje el ultimo valor en el input source

<?
$texto = nl2br($HTTP_POST_VARS[tex]);
$lineas = explode ( '<br />' , $texto );


foreach ($lineas as $k => $v)
{
echo "<SCRIPT> document.form.source.value=\"".$v."\";</SCRIPT>";
}
?>


<p>
<input type="text" name="a" id="a" value="<?php echo $lineas[0] ?>" />
</p>
<p>
<input type="text" name="a" id="a" value="<?php echo $lineas[1] ?>" />
</p>
<p>
<input type="text" name="a" id="a" value="<?php echo $lineas[2] ?>" />
</p>
<p>
<input type="text" name="a" id="a" value="<?php echo $lineas[3] ?>" />
  #2 (permalink)  
Antiguo 10/06/2011, 05:07
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: problema con canvio de variable

Puedes probar a hacer un foreach y un echo de cada línea para asegurarte de que todas la variable contine el valor que buscas.
Si es el que buscashay algún error en el script. Recuerda que php se ejecuta en el servidor y javascript en el navegador, no podrás usar php una vez cargada la página.

Saludos ^^.
__________________
Soy el desarrollador otaku, especializado en entornos web.
Mi canal en Youtube
@VGRDominik
  #3 (permalink)  
Antiguo 10/06/2011, 05:11
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años
Puntos: 22
Respuesta: problema con canvio de variable

Uf... porque no pones un name diferente? aunque luego lo recojas en un array

Código PHP:
<?php $c 0
while(
$c 4
{
?>
   <p>
   <input type="text" name="a<?php echo $c?>" id="a<?php echo $c?>" " value="<?php echo $lineas[$c?>" />
   </p>
<?php 
$c
++;
}
?>
<input type="hidden" name="cont" value="<?php echo $c?>">
Y al recoger:

Código PHP:
<?php 
$cont 
$_POST['cont'];
$c 0;
while(
$c $cont)
{
   
$linea[$c] = $_POST['a' $c];
}
?>
No sé si te ayudará..
  #4 (permalink)  
Antiguo 10/06/2011, 16:05
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: problema con canvio de variable

Cita:
Iniciado por Saneko Ver Mensaje
Uf... porque no pones un name diferente? aunque luego lo recojas en un array

Código PHP:
<?php $c 0
while(
$c 4
{
?>
   <p>
   <input type="text" name="a<?php echo $c?>" id="a<?php echo $c?>" " value="<?php echo $lineas[$c?>" />
   </p>
<?php 
$c
++;
}
?>
<input type="hidden" name="cont" value="<?php echo $c?>">
Y al recoger:

Código PHP:
<?php 
$cont 
$_POST['cont'];
$c 0;
while(
$c $cont)
{
   
$linea[$c] = $_POST['a' $c];
}
?>
No sé si te ayudará..

Hola no logro hacer que me funcione tu codigo ya que descubri que no me esta regresado las demas lineas, trate mas resumido el codigo y solo me devuelve un valor en source cuando $lineas[0] cuando le pongo uno ya no me devuelve nada

Código PHP:
<?
$texto 
nl2br($HTTP_POST_VARS[url]);
$lineas explode  '<br />'  $texto );

        
              echo 
"<SCRIPT> document.form.source.value=\"".$lineas[1]."\";</SCRIPT>";

?>
  #5 (permalink)  
Antiguo 10/06/2011, 16:47
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: problema con canvio de variable

Cita:
Iniciado por tsueseres Ver Mensaje
Hola no logro hacer que me funcione tu codigo ya que descubri que no me esta regresado las demas lineas, trate mas resumido el codigo y solo me devuelve un valor en source cuando $lineas[0] cuando le pongo uno ya no me devuelve nada

Código PHP:
<?
$texto 
nl2br($HTTP_POST_VARS[url]);
$lineas explode  '<br />'  $texto );

        
              echo 
"<SCRIPT> document.form.source.value=\"".$lineas[1]."\";</SCRIPT>";

?>
Código PHP:
echo "<SCRIPT> document.form.source.value=\"".$lineas[1].
¿No es más fácil hace esto?
Código PHP:
?> <script> document.form.source.value=<?php echo $lineas[1]; ?>;
Otra cosa, ¿el formulario se llama "form"? un error muy típico es no poner el nombre del formulario o poner dos forularios con el mismos nombre. En los dos casos el javascript no te reconocería el campo.
__________________
Soy el desarrollador otaku, especializado en entornos web.
Mi canal en Youtube
@VGRDominik
  #6 (permalink)  
Antiguo 11/06/2011, 03:47
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: problema con canvio de variable

Cita:
Iniciado por valenti_92 Ver Mensaje
Código PHP:
echo "<SCRIPT> document.form.source.value=\"".$lineas[1].
¿No es más fácil hace esto?
Código PHP:
?> <script> document.form.source.value=<?php echo $lineas[1]; ?>;
Otra cosa, ¿el formulario se llama "form"? un error muy típico es no poner el nombre del formulario o poner dos forularios con el mismos nombre. En los dos casos el javascript no te reconocería el campo.
hola, no se que estare haciendo mal pero tampoco me funciono tratar eso por separado, voy a poner todo el codigo para mayor referencia, en la parte del textarea pongo varias lineas pero cuando quiero que muestre en un input de nombre source solo he podido hacer que muestre la primer linea, y cuando pongo directamente que muestre la segunda linea ya no muestra nada en el input source

Código PHP:
<?
                                                                     
    ob_implicit_flush
(true);
?>
<HTML>

<HEAD>
    <META NAME="KEYWORDS" CONTENT="php line splitter">
    <META NAME="DESCRIPTION" CONTENT="cortar lineas de un textarea">
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
    <TITLE>line splitter</TITLE>
</HEAD>

<BODY>

<DIV ALIGN="center">
  <CENTER>
  <TABLE BORDER="1" CELLPADDING="4" CELLSPACING="0" WIDTH="600" BORDERCOLOR="#0068A0" BORDERCOLORLIGHT="#0068A0" BORDERCOLORDARK="#0068A0">
    <TR>
      <TD BGCOLOR="#0068A0">
        <P ALIGN="center">Extraccion de lineas      </P></TD>
    </TR>
    <TR>
      <TD><?
if (!$HTTP_POST_VARS[url])
{
    
$egFilename=dirname(__FILE__)."/thefile.txt";
    
$egFilename=eregi_replace("[\\]","/",$egFilename);
    
    
?>
<!-- Splash Form Begin -->
<TABLE BORDER="0" CELLPADDING="2" CELLSPACING="1" WIDTH="100%" BGCOLOR="#DDDDDD">
<FORM METHOD="POST" ACTION="<? echo $PHP_SELF?>">
<TR>
<TD WIDTH="27%" BGCOLOR="#C0C0C0"><B><FONT FACE="Arial" SIZE="2">Source Linea
</FONT></B></TD>
<TD WIDTH="73%"><p>
  <label for="enlaces"></label>
    <textarea name="url" id="url" cols="70" rows="5"></textarea>
</p></TD>
</TR>

<TR>
<TD WIDTH="100%" COLSPAN="2">
<P ALIGN="center"><INPUT TYPE="submit" VALUE="cortar lineas" NAME="B1"></TD>
</TR>
</FORM>
</TABLE>
<!-- Splash Form End -->
<?
} else
{
    
?>
<!-- Status Form Begin -->
<TABLE BORDER=0 WIDTH=100%BGCOLOR="#DDDDDD">
<FORM METHOD=POST NAME=form>
<TR>
<TD WIDTH=100% BGCOLOR=""><FONT FACE="Arial" SIZE="2"><B>Source Linea</B></FONT></TD>
</TR>
<TR>
<TD WIDTH=100%><P ALIGN=left><INPUT TYPE=text NAME=source SIZE=97 STYLE=font-family: Arial; font-size: 8pt; border: 1 solid #000080>
</P></TD>
</TR>
</FORM>
</TABLE>
<!-- Status Form End -->
<SCRIPT>
<!--
function showprogress(progress,max)
{
  percent = Math.round(progress/max*100);
  totalbar = Math.round(percent/100*document.form.status.size);
  bar = "";
  for (i=0;i<=totalbar;i++)
  {
    bar += "-";
  }
  document.form.status.value = bar;
}
-->
</SCRIPT>
    
    <?
}
?>
</TD>
    </TR>
    <TR>
      <TD>
      <TABLE><TR>
      <TD WIDTH=50%>
        <P ALIGN="right"><FONT FACE="Arial" SIZE="1"><A HREF="<? echo $PHP_SELF?>">Start over</A></FONT></TD>
        </TR></TABLE>
        </TD>
    </TR>
  </TABLE>
  </CENTER>
</DIV>

</BODY>

</HTML>


<?
$texto 
nl2br($HTTP_POST_VARS[url]);
$lineas explode  '<br />'  $texto );

//$texto = $_POST[url];
//$lineas = split("\n",$texto); 

    //if ($HTTP_POST_VARS[url])
    //{
        //foreach ($lineas as $k => $v) 
        //{
           
              
echo "<SCRIPT> document.form.source.value=\"".$lineas[1]."\";</SCRIPT>";

        
//}
    //}        
?>


y este es el apartado que hice con tu codigo pero no me muestra nada en el input source

Código PHP:
<?
$texto 
nl2br($HTTP_POST_VARS[url]);
$lineas explode  '<br />'  $texto );

//$texto = $_POST[url];
//$lineas = split("\n",$texto); 

    //if ($HTTP_POST_VARS[url])
    //{
        //foreach ($lineas as $k => $v) 
        //{
            //    set_time_limit(0);            
              //echo "<SCRIPT> document.form.source.value=\"".$lineas[1]."\";</SCRIPT>";

        //}
    //}        
?>

<script> document.form.source.value=<?php echo $lineas[0]; ?>; </script>
  #7 (permalink)  
Antiguo 11/06/2011, 04:19
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: problema con canvio de variable

Vale, nl2br() piensa que puede devolver <br /> o <br>. Tu solo pones <br />.
Luego compruebas qué valores contienen algo y los muestras.
__________________
Soy el desarrollador otaku, especializado en entornos web.
Mi canal en Youtube
@VGRDominik
  #8 (permalink)  
Antiguo 11/06/2011, 12:37
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: problema con canvio de variable

Cita:
Iniciado por valenti_92 Ver Mensaje
Vale, nl2br() piensa que puede devolver <br /> o <br>. Tu solo pones <br />.
Luego compruebas qué valores contienen algo y los muestras.
hola, he puesto en el textarea

hola
perro
gato
hey

y solo he logrado conseguir que muestre hola usando <br />
  #9 (permalink)  
Antiguo 11/06/2011, 15:46
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: problema con canvio de variable

prueba sin el nl2br y poniendo en el exlode uno de estos carácteres: \r\n, \n\r, \n y \r.
Aber si funciona con alguno de ellos.
__________________
Soy el desarrollador otaku, especializado en entornos web.
Mi canal en Youtube
@VGRDominik

Última edición por valenti_92; 11/06/2011 a las 15:47 Razón: error ortográfico
  #10 (permalink)  
Antiguo 12/06/2011, 04:18
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: problema con canvio de variable

Cita:
Iniciado por valenti_92 Ver Mensaje
prueba sin el nl2br y poniendo en el exlode uno de estos carácteres: \r\n, \n\r, \n y \r.
Aber si funciona con alguno de ellos.
hice la prueba poniendo>

<p>
<input type="text" name="a" id="a" value="<?php echo $lineas[0] ?>" />
</p>
<p>
<input type="text" name="a" id="a" value="<?php echo $lineas[1] ?>" />
</p>
<p>
<input type="text" name="a" id="a" value="<?php echo $lineas[2] ?>" />
</p>
<p>
<input type="text" name="a" id="a" value="<?php echo $lineas[3] ?>" />

y si pone las variables de cada linea el unico problema es que en este codigo solo logra la primera

Código PHP:
<?
$texto 
nl2br($HTTP_POST_VARS[url]);
$lineas explode  '<br />'  $texto );

//si logra ponerla
                   
echo "<SCRIPT> document.form.source.value=\"".$lineas[0]."\";</SCRIPT>";

//ya de aqui en adelante no pone nada
              
echo "<SCRIPT> document.form.source.value=\"".$lineas[1]."    
\";</SCRIPT>"
;
?>
  #11 (permalink)  
Antiguo 12/06/2011, 08:52
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: problema con canvio de variable

Modifica esto:

$texto = nl2br($HTTP_POST_VARS[url]);

Por esto:

$texto =$_POST[url];

Y en esta linea:

$lineas = explode ( '<br />' , $texto );

Prueba esto:

$lineas = explode ( '\n\r' , $texto );

$lineas = explode ( '\r\n' , $texto );

$lineas = explode ( '\n' , $texto );

$lineas = explode ( '\r' , $texto );

Son las diferentes formas como se puede interpretar un salto de línea. Si alguna te va bién ya lo tienes resuelto ^^
__________________
Soy el desarrollador otaku, especializado en entornos web.
Mi canal en Youtube
@VGRDominik
  #12 (permalink)  
Antiguo 12/06/2011, 09:45
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: problema con canvio de variable

Hola tsueseres.

El problema que tienes es un error de javascript. Para que entiendas el problema, mira el código fuente de la página cuando se carga. Verás que la primera línea del script la escribe bien. Sale así:

<SCRIPT> document.form.source.value="hola";</SCRIPT>

pero las siguientes las escribe partidas. Salen así:

<SCRIPT> document.form.source.value="
perro";</SCRIPT>

Esto genera un error al intentar interpretarlo el html, ya que las sentencias en javascript tienen que ir en una línea.
Para solucionar el problema tienes que quitar los saltos de línea que tienen las variables según los interpreta php, que son las opciones que te ha puesto valenti_92. He probado y la que me ha funcionado a mi es:

$lineas = explode ('\r\n' , $texto );
  #13 (permalink)  
Antiguo 12/06/2011, 17:51
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: problema con canvio de variable

Cita:
Iniciado por valenti_92 Ver Mensaje
Modifica esto:

$texto = nl2br($HTTP_POST_VARS[url]);

Por esto:

$texto =$_POST[url];

Y en esta linea:

$lineas = explode ( '<br />' , $texto );

Prueba esto:

$lineas = explode ( '\n\r' , $texto );

$lineas = explode ( '\r\n' , $texto );

$lineas = explode ( '\n' , $texto );

$lineas = explode ( '\r' , $texto );

Son las diferentes formas como se puede interpretar un salto de línea. Si alguna te va bién ya lo tienes resuelto ^^
wow muchas gracias por todo tu tiempo si me funciono y tmb gracias a nexus por la informacion de como se generaba el error con javascript
  #14 (permalink)  
Antiguo 14/06/2011, 02:29
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: problema con canvio de variable

De nada ^^
__________________
Soy el desarrollador otaku, especializado en entornos web.
Mi canal en Youtube
@VGRDominik

Etiquetas: variables
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:51.