Tengo un PHP actualización de la página en la que estoy mostrando un campo de texto que contiene un valor de la base de datos. Es así, y se está trabajando,

<input type="text" name="title" id="title" class="text_box" value="<?php echo $row['title']?>"/>

Ahora tengo que poner este valor actualizado de nuevo en la base de datos! He utilizado el código como este, pero no de actualización:

$title=$_POST['title'];
$v_id = $_GET['v_id'];
$sql = mysql_query("update vehicles set title = '$title' where v_id = '$v_id'");

En detalle… un campo de entrada está ahí. Esto muestra un valor contenido en $title (extraído de la base de datos) y ese valor es para ser editados y actualizados.

De mi lado mi código funciona a la perfección sin mostrar ningún error, pero el valor que le doy a $title está dando a la misma sin ningún cambio.

¿Hay alguna otra manera para mostrar un valor en un campo de entrada sin poner en «valor» de la etiqueta?
Dos cosas que quiere que suceda en un único campo de entrada!

  • ¿Por qué estás mezclando $_POST y $_GET como este?
  • Bobby tablas envía saludos.
  • ¿Se está ejecutando el código sólo en la devolución de datos?
  • En el caso de @El Scrum Meister no era obvio, por favor, por favor por favor lee sobre las inyecciones de SQL.
  • Esa edición fue… inútil.
  • era sólo que escribir. — @OP – va a tener un problema de la actualización de su base de datos O va a tener un problema con la recepción de datos y mostrarla en el inputbox?
  • No entiendo por qué @user618124 no ha verificado que v_id está llegando a través del lado del servidor como se esperaba. Hacer que los desarrolladores se olvide de depuración simple?
  • la mayoría de PHP err.. los desarrolladores simplemente no tienen idea de la depuración. PHP es para los entusiastas de la lengua en el primer lugar.
  • La metralla wow, simplemente wow.
  • brevemente revise las preguntas bajo la etiqueta PHP. No hay una sola respuesta que se supone o se explica la depuración. Acaba de disparar en la oscuridad.
  • Metralla, sí bien eso solo significa que PHP usuarios que vienen para, ASÍ, tener muy buenos conocimientos. Viendo que es una P&Un sitio, apenas justo tar a todos con el mismo pincel. Pero me pongo en su punto, demasiada paja

InformationsquelleAutor Wazan | 2011-02-24

3 Comentarios

  1. 4

    Usted necesita para enviar su formulario HTML así.

    A menos que su forma se parece a la siguiente, ya que el código no trabajo

    <form method='post' action='page.php?v_id=1'>
       <input type="text" name="title" id="title" class="text_box" value="<?php echo $row['title']?>"/>
    </form>

    Esto es debido a que estás usando $_GET para obtener el identificador de campo y $_POST para obtener el valor del campo

    EDITAR
    Su edición ha enturbió el agua un poco más. Voy a asumir que todo lo que quiero hacer es mostrar un título y dejar que el usuario actualice el título

    <?php
       if ($_POST) {
            $title = mysql_escape_string($_POST['title']);
            $id    = intval($_GET['v_id']);
            $sql   = "update vehicles set title = '$title' where v_id = '$id'";
            mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
       } 
       if (isset($_GET['v_id'])) {
           $id      = intval($_GET['v_id']);
           $sql     = 'SELECT title FROM vehicles WHERE v_id = ' . $id;
           $rs      = mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
           $row     = mysql_fetch_assoc($rs);
           $title   = htmlspecialchars($row['title']);
       }
    ?>
    
    <form method='post' action='?v_id=<?php echo $id?>'>
       <input type="text" name="title" id="title" class="text_box" value="<?php echo $title ?>"/>
       <input type='submit' value='update'>
    </form>

    Esto debería funcionar para usted. No he error probado obviamente, pero la idea es sonido. También debe agregar cualquier otra entrada de detección usted se siente necesario.

    • eso es todo funcionando perfectamente, sólo el problema de actualización
    • Do u se entienda lo que estoy tratando de hacer que yo quiero mostrar el título antes de la actualización en una sola etiqueta de entrada, después de que quiero editar y actualizar
    • Yo no entiendo lo que quieres decir. Por «mostrar el título de’ ¿te refieres a agarrar la existente a partir de la base de datos? Puede que la lista de los pasos que usted quiere que suceda?
    • He editado mi pregunta por favor, compruebe
    • He editado tu respuesta con pequeñas correcciones.
    • sí, eso está bien. Definitivamente el uso de este script es muy peligroso.
    • Thaxxx Budy @ última que he encontrado la respuesta
    • Bonita respuesta! Aunque la ACTUALIZACIÓN de SQL líneas parece idéntica a la OPs versión… Entonces, ¿qué fue mal? Solo por curiosidad, y tratando de aprender algo de mí 🙂
    • Es exactamente lo mismo, creo que el OP simplemente no tienen el resto de lo codificado correctamente (los Selecciona)

  2. 0

    Se utilizan ambos $_POST y $_GET.
    Dependiendo de la method valor del elemento de <form>, necesita $_POST o $_GET.

    Si esto no ayuda, por favor ver más código, así que es posible determinar que uno necesita.

    También, usted puede intentar la actualización de la base de datos sin la lectura de la forma, para comprobar si la actualización en sí está funcionando correctamente.

    • Él es es posible mezclar $_POST y $_GET… si sabes lo que estás haciendo.
    • Cierto, pero se supone que debo/supone que en esta situación es no deseados. De ahí mi pregunta de más de código de ejemplo.
    • las cosas básicas que están trabajando perfektly quiero enviar el nuevo valor en lugar de $título de DB
    • Necesitas actualizar tu pregunta y agregar más información. Ahora mismo es imposible dar más útil respuesta
    • He editado plese comprobar y me ayude si u puede por Favor
  3. 0

    ¿hay alguna otra manera para mostrar un valor en un campo de entrada sin poner un «valor» de la etiqueta?

    Nope.

    Eso es exactamente lo que value atributo.

    ¿Qué tiene de malo?

    única cosa a mencionar, no debe ser <?php echo $row['title']?> pero

    <?php echo htmlspecialchars($row['title'])?>
    • su trabajo a la perfección, pero yo no puedo editar este valor y reenviarlo !! si puedo editar y guardar incluso su toma el valor antiguo !!
    • esto significa que su consulta de actualización no funciona.
    • no consulta está trabajando quiero saber un campo de entrada quiero mostrar un valor, sino que se quiere enviar, antes de querer ser de edición
    • por favor reformular su último comentario
    • Lo siento chicos yo no no ¿cómo explicar u hombres por el camino thaxxx mucho

Dejar respuesta

Please enter your comment!
Please enter your name here