es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Enviando el tipo de entrada “imagen” a la base de datos da como resultado un índice no definido.

Intento enviar una imagen desde el selector de medios de WordPress a mi base de datos. Debo mostrar la imagen dentro de un campo de entrada. El objetivo es hacer lo mismo que el selector de medios de WordPress (imagen destacada) en mi propio plugin: hago clic en “añadir una imagen destacada” (botón), elijo una imagen y se muestra dentro de un input type=image. type=file no muestra la imagen y sobrescribe el cargador. No quiero eso.
Para este ejemplo, agregué input type=”image” dentro del botón pero estos se agregan mediante jQuery.

El error es: índice indefinido: aac_image

En esta línea: ‘logo_img’ => $_POST[‘aac_image’],

< button type="button" class="atv_btn" id="btnImage" >
            < !--<span>Ajouter une image</span>-- >
            < input type="image" src="https://website.com/wp_content/uploads/myimage.png" id="getImage" name="aac_image" height="180" width="260" >
        < /button >

$table = $wpdb->prefix.'organization_data';
    $data = array(
        'id' => $genId,
        'name' => $_POST['aacl_title'],
        'nicname' => $Acronyme,
        'logo_img' => $_POST['aac_image'],
        'informations' => $_POST['aac_description'],
        'mgmt_activated' => 1
    );
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para solucionar el error “undefined index: aac_image”, debes asegurarte de que la entrada “aac_image” esté correctamente configurada al enviar el formulario. Esto se puede hacer agregando el atributo “enctype” a tu elemento de formulario y configurándolo como “multipart/form-data”, lo cual permite la carga de archivos.

    Aquí tienes un fragmento de código actualizado:

    <form method="post" action="" enctype="multipart/form-data">
        <button type="button" class="atv_btn" id="btnImage">
            <input type="file" id="aac_image" name="aac_image">
        </button>
        <input type="text" id="aac_title" name="aac_title">
        <textarea id="aac_description" name="aac_description"></textarea>
        <input type="submit" value="Submit">
    </form>
    

    Ten en cuenta que los atributos “id” y “name” del elemento de entrada de archivo están configurados como “aac_image”. En tu código PHP, puedes acceder al archivo cargado a través de la variable superglobal “$_FILES”, de la siguiente manera:

    $table = $wpdb->prefix.'organization_data';
    $data = array(
        'id' => $genId,
        'name' => $_POST['aac_title'],
        'nicname' => $Acronyme,
        'logo_img' => $_FILES['aac_image']['name'],
        'informations' => $_POST['aac_description'],
        'mgmt_activated' => 1
    );
    

    Ten en cuenta que en este ejemplo, he asumido que la columna “logo_img” en tu tabla de base de datos solo almacena el nombre de archivo de la imagen cargada, no los datos reales de la imagen. Si necesitas almacenar los datos reales de la imagen en la base de datos, deberás modificar tu código en consecuencia.

Comments are closed.