a<?php
// poner_publicidad_jpg.php (PHP 8.2 compatible)
// Este archivo asume que le llega $lugar y $que (desde el form / include anterior).
// Si no vienen, los toma de POST como fallback.

declare(strict_types=1);

require_once __DIR__ . '/concha.php';

function e($v): string {
    return htmlspecialchars((string)$v, ENT_QUOTES, 'UTF-8');
}

// Fallback por si no vienen seteadas desde el include padre
if (!isset($lugar)) { $lugar = $_POST['lugar'] ?? ''; }
if (!isset($que))   { $que   = $_POST['que']   ?? ''; }

// Normalizamos
$lugar_int = (int)$lugar;
$que_str   = (string)$que;

// --------- UPDATE seguro (prepared) ----------
$tabla = 'columna';

// Si tu concha.php define $basedatos y $conn (mysqli), lo usamos.
// Si no existe $basedatos, al menos actualiza sin calificar DB.
if (!isset($conn) || !($conn instanceof mysqli)) {
    http_response_code(500);
    exit('Error: concha.php debe definir $conn como mysqli.');
}

if ($lugar_int > 0 && $que_str !== '') {
    // IMPORTANTE: no se puede bindear el nombre de tabla/DB, por eso tabla fija y validada.
    // Para DB calificada, usamos backticks y concatenación segura con variable ya definida.
    $dbPrefix = (isset($basedatos) && $basedatos !== '') ? ("`" . $conn->real_escape_string($basedatos) . "`.") : "";

    $sqlUpd = "UPDATE {$dbPrefix}`{$tabla}` SET `bloque` = ? WHERE `lugar` = ?";

    $stmt = $conn->prepare($sqlUpd);
    if (!$stmt) {
        http_response_code(500);
        exit('Error prepare UPDATE: ' . e($conn->error));
    }
    $stmt->bind_param('si', $que_str, $lugar_int);
    $stmt->execute();
    $stmt->close();
}
?>
<style type="text/css">
.Estilo1{
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 14px;
}
</style>

<p align="center">
    PONER UNA PUBLICIDAD EN FORMATO IMAGEN EN EL LUGAR <?php echo e($lugar_int); ?>
</p>

<p>&nbsp;</p>

<table width="419" border="0" align="center">
    <tr>
        <td width="413" valign="top" bgcolor="#C3C3C3" class="Estilo1">
            <p><br /></p>

            <?php
            // --------- LISTADO PUBLICIDADES ----------
            $sql = "SELECT ID, img, url, carpetafoto FROM publicidades ORDER BY ID DESC";
            $consulta = $conn->query($sql);

            if (!$consulta) {
                echo '<div style="padding:10px;background:#fff;color:#b00;">Error SQL: ' . e($conn->error) . '</div>';
            } else {
                while ($row = $consulta->fetch_assoc()) {
                    $ID         = (int)$row['ID'];
                    $img        = (string)$row['img'];
                    $url        = (string)$row['url']; // queda por compat, aunque no se use acá
                    $carpetafoto= (string)$row['carpetafoto'];

                    // Armado de src como en tu original
                    $src = "../" . $carpetafoto . "/resize_" . $img . ".jpg";
                    ?>
                    <img src="<?php echo e($src); ?>" alt="" />

                    <form method="post" action="form_poner_publicidad_jpg.php">
                        <input name="lugar" type="hidden" value="<?php echo e($lugar_int); ?>" />
                        <input name="ID_i" type="hidden" value="<?php echo e($ID); ?>" />
                        <input type="submit" name="button" value="SELECCIONAR ESTA" />
                    </form>

                    <hr />
                    <?php
                }
                $consulta->free();
            }
            ?>

            <br /><br />
        </td>
    </tr>
</table>

<p>&nbsp;</p>