Foros del Web » Programando para Internet » PHP »

No edita el registro completo en un campo text con php

Estas en el tema de No edita el registro completo en un campo text con php en el foro de PHP en Foros del Web. La consulta la hace bien pero cuendo manda el formulario con el registro para modificarlo no lo muestra completo solo coloca la primera parte del ...
  #1 (permalink)  
Antiguo 22/11/2008, 17:52
 
Fecha de Ingreso: febrero-2004
Ubicación: TUSCALOOSA, ALABAMA
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
No edita el registro completo en un campo text con php

La consulta la hace bien pero cuendo manda el formulario con el registro para modificarlo no lo muestra completo solo coloca la primera parte del texto dentro del campo TEXT, (EJEMPLO el nombre completo de una parsona o el titulo de un libro) , si cambio el registro y no le pongo espacios me lo edita completo, tambien he probado cambiando el tipo de dato con PHPMyadmin como TEXT BLOB LONGTEXT y me da lo mismo aqui el codigo gracias por la ayuda no se que me hace falta

Puse dos envios a imprimir por hacer prueba uno dendtro de un campo text y otro directo a la pagina, el directo a la pagina lo manda completo y el otro solo la primera parte por que no me imprime con todo y espacios dentro del campo text del formulario?

grtacias por la gran ayuda.

<html>
<head> </head>
<body>
<?php
include("../cnx/conex.php");
$link=Conectarse();
$nombre=$_GET['nombre'];
$result=mysql_query("select nombre from nombre_iglesia ",$link);


?>

<?php

while($row = mysql_fetch_array($result)) {
printf("&nbsp;%s<FORM id=form1 name=nombre method=get action=modificar.php > <TABLE align=center>
<TR>
<TD>Nom:</TD>
<TD> <input name=nombre type=text id=nombre value=%s ></TD>
</TR>
</TABLE>
<INPUT NAME=enviar TYPE=submit id=enviar VALUE=Modificar>
</FORM>",($row["nombre"]),$row["nombre"]);
}
mysql_free_result($result);
mysql_close($link);
?>
</table>
</body>
</html>
__________________
gracias por su colaboración
  #2 (permalink)  
Antiguo 22/11/2008, 20:29
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: No edita el registro completo en un campo text con php

El problema es que no estás colocando entre comillas ninguno de los atributos HTML. Todos los atributos HTML deben ir entre comillas. Un ejemplo:
Código html:
Ver original
  1. <input type=text name=nombre value=valor del input />
Pruébalo y verás cuál es el resultado. La manera correcta sería:
Código html:
Ver original
  1. <input type="text" name="nombre" value="valor del input" />
Y eso vale para todos los atributos HTML. Siempre debes colocarlos entre comillas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 22/11/2008, 21:23
 
Fecha de Ingreso: febrero-2004
Ubicación: TUSCALOOSA, ALABAMA
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No edita el registro completo en un campo text con php

Bueno les cuento para el que le pase lo mismo:

si se ponen con comillas ami me sale este error: Parse error:

syntax error, unexpected T_STRING in /home/latinchu/public_html/churches/adm/n_iglesia.php on line 32

Ahora bien una variable de impresion como %s no trabaja muy bien dentro de un objeto en este caso un campo TEXT por que seria como "insertado" digamoslo asi esta variable debe trabajar tal y como trabaja un formulario normal:

osea:

- Se habre el formulario
- Se ejecuta la sentencia
- Escribe las variables que debe imprimir

Como lo solucione? Coloque la %s para que se imprima desde un campo TEXTAERA

<textarea etc.....>%s</texarea>

Listo! lo demas es diseno para que se vea bien......
__________________
gracias por su colaboración
  #4 (permalink)  
Antiguo 22/11/2008, 21:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: No edita el registro completo en un campo text con php

Créeme, no tiene mucho que ver con que lo hayas colocado en un input type text. Sí tiene que ver con las comillas, y en cuanto al error, si las comillas las deseas colocar en una cadena, debes escaparlas \", puedes buscar un aporte de pateketrueke sobre cómo usar correctamente las comillas, te resultará útil .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 23/11/2008, 15:56
 
Fecha de Ingreso: febrero-2004
Ubicación: TUSCALOOSA, ALABAMA
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No edita el registro completo en un campo text con php

sip ok tengo entendido que si se inicia con " termina con " teniendo encuenta que requieres poner un codigo en php iria con las contrarias que son ' estas'

pero no me da, osea si me guarda numeros pero por que no texto no lo entiendo sorry.

while($row = mysql_fetch_array($result)) {
printf("<FORM id=nombre name=name_iglesia method=post action=n_iglesiaS.php > <TABLE width=800>
<TR>
<TD rowspan=4>sssssssssssssssssss</TD>

<TD bgcolor=#DFDFDF height=25 class=boxbnr><div align=center>$Txt_Niglesia</div></TD>
</TR>
<TR>
<TD ><input type=hidden name=id value='%s' /></TD>
</TR>
<TR>
<TD >$New_Niglesia&nbsp;</TD>
</TR>
<TR>
<TD><textarea name=nombre id=nombre cols=80 rows=14>%s</textarea></TD>
</TR>
<TD>&nbsp;
<input name=enviar type=submit id=enviar value='$Guardar' /></TD>
</TR>
</TABLE> ",$row['id'],$row['nombre']);
}
mysql_free_result($result);
mysql_close($link);
?>
</table>
</body>
</html>

Pongo las values entre comillas sencillas pero da el mismo resultado
__________________
gracias por su colaboración
  #6 (permalink)  
Antiguo 23/11/2008, 15:58
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: No edita el registro completo en un campo text con php

Cita:
sip ok tengo entendido que si se inicia con " termina con " teniendo encuenta que requieres poner un codigo en php iria con las contrarias que son ' estas'
Lee esto DETENIDAMENTE:

Cita:
Créeme, no tiene mucho que ver con que lo hayas colocado en un input type text. Sí tiene que ver con las comillas, y en cuanto al error, si las comillas las deseas colocar en una cadena, debes escaparlas \", puedes buscar un aporte de pateketrueke sobre cómo usar correctamente las comillas, te resultará útil .
No, no tiene que ir con las contrarias ... Solo las ESCAPAS!!! usando \.

Código PHP:
echo ("Estas \" son \" comillas \""); //imprime Estas " son " comillas 
Y el problema sigue siendo de las comillas. -_- No imprimes NINGUNA.
<FORM id=nombre name=name_iglesia method=post action=n_iglesiaS.php
<TD bgcolor=#DFDFDF height=25 class=boxbnr><div align=center>$Txt_Niglesia</div></TD>

www.w3schools.com
  #7 (permalink)  
Antiguo 23/11/2008, 16:57
 
Fecha de Ingreso: febrero-2004
Ubicación: TUSCALOOSA, ALABAMA
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No edita el registro completo en un campo text con php

bueno de ante mano gracias por todo el apoyo

Ok hice lo de las comillas busque el manual que me dices y cambie el codigo tal cual
tambien desde el explorador saque el view source para ver si el codigo lo imprime bien
pero sigue el mismo error, no tendra nada que ver con la base de datos en si? es como cuando tu le das propiedades al campo creado en una base
no lo se lo que hice fue esto y lo que esta despues de las lineas punteadas es la respuesta desde el explorador

<?php

while($row = mysql_fetch_array($result)) {
printf("<FORM id=\"nombre\" name=\"name_iglesia\" method=\"post\" action=\"n_iglesiaS.php\" >
<TABLE width=\"800\">
<TR>
<TD rowspan=\"4\">sssssssssssssssssss</TD>

<TD height=\"25\" class=\"boxbnr\"><div align=\"center\">$Txt_Niglesia</div></TD>
</TR>
<TR>
<TD ><input type=\"hidden\" name=\"id\" value=\"%s\" /></TD>
</TR>
<TR>
<TD >$New_Niglesia&nbsp;</TD>
</TR>
<TR>
<TD><textarea name=\"nombre\" rows=\"14\" cols=\"80\">%s</textarea></TD>
</TR>
<TD>&nbsp;
<input name=\"enviar\" type=\"submit\" id=\"enviar\" value=\"$Guardar\" /></TD>
</TR>
</TABLE> ",$row['id'],$row['nombre']);
}
mysql_free_result($result);
mysql_close($link);
?>
</table>
</body>
</html>
-----------------------------------------------------------------------------
IMPRESION POR EXPLORADOR (SOURCE VIEW)
-------------------------------------------------------------------------------
<html>
<head>
<LINK href="stylo.css" rel="stylesheet" type="text/css">
</head>
<body>



<FORM id="nombre" name="name_iglesia" method="post" action="n_iglesiaS.php" >
<TABLE width="800">
<TR>
<TD rowspan="4">sssssssssssssssssss</TD>

<TD height="25" class="boxbnr"><div align="center">Nombre de la Iglesia para mostrar en la pagina web</div></TD>
</TR>
<TR>
<TD ><input type="hidden" name="id" value="1" /></TD>
</TR>
<TR>
<TD >Escriba el nombre de su iglesia&nbsp;</TD>
</TR>
<TR>
<TD><textarea name="nombre" rows="14" cols="80">3333</textarea></TD>
</TR>
<TD>&nbsp;
<input name="enviar" type="submit" id="enviar" value="Guardar_Nuevo_Nombre " /></TD>
</TR>
</TABLE>
</table>
</body>
</html>
__________________
gracias por su colaboración
  #8 (permalink)  
Antiguo 23/11/2008, 17:28
 
Fecha de Ingreso: febrero-2004
Ubicación: TUSCALOOSA, ALABAMA
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No edita el registro completo en un campo text con php

creo que tiene que ver con la configuracion del php.ini (GLOBALS = off)
__________________
gracias por su colaboración
  #9 (permalink)  
Antiguo 23/11/2008, 21:24
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: No edita el registro completo en un campo text con php

Y... ¿cuál es el error o problema concreto que tienes con ese último código? .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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:55.