Me gustaría saber la forma más fácil de extraer el texto de un campo de base de datos y establecerlo como el texto predeterminado para un área de texto.

Estoy planeando en este momento asignar el campo a una variable, y luego, usando JavaScript, configúrelo como el texto predeterminado, pero no estoy seguro de cómo hacer esta última parte.

0
Joshxtothe4 14 abr. 2009 a las 03:10

3 respuestas

La mejor respuesta

En su código PHP, probablemente por encima de su HTML:

// Database connection calls here...
$row = mysql_fetch_array();
$databaseField = $row["databaseField"];

Y en tu HTML:

<textarea name="databaseField" rows="5">
   <?php= $databaseField ?>
</textarea>
2
John Rasch 13 abr. 2009 a las 23:24

Si está utilizando un lenguaje del lado del servidor, no es necesario tener el paso extra de JavaScript. Simplemente puede completar el valor del atributo "valor". Aquí hay un ejemplo usando PHP:

<input type="text" 
  name="phoneNumber" 
  value="<?php print($phone_number_from_database); ?>" />
1
danieltalsky 13 abr. 2009 a las 23:16

¡no olvides escapar del contenido de tu base de datos!

<textarea id="foo">
  <?php echo htmlspecialchars($databasefield); ?>
</textarea>

De lo contrario, tendrá problemas con el contenido que incluye etiquetas html como 'foo </textarea>bar baz'. ¡bar baz escaparía de su área de texto! esto podría conducir a cross site scripting (si permite la entrada del usuario) o en HTML menos roto. Solía castigar a otros estudiantes abriendo innumerables ventanas nuevas con JavaScript si olvidaban desinfectar las entradas en sus aplicaciones de libro de visitas de aprendizaje práctico. ventanas con imágenes que ninguna persona en su sano juicio quiere ver . Buenos tiempos :)

Htmlspecialchars convierte <, >, ", &, ... en entidades (&lt;, &gt;, &quot;, &amp;, ...), evitando que el contenido se libere.

1
stefs 14 abr. 2009 a las 07:36