Visualizzazione risultati 1 fino 5 di 5

Discussione: mysql recupero file (univoco)

  1. #1
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Cool mysql recupero file (univoco)

    buona sera... scusate ma e' sempre il solito discorso, non so dove studiare per risolvere il mio problema.



    ho questo codice php che mi stampa tutti i record in base ad una email, poi ad ogni singolo record ho

    associato un link per eliminarlo. il problema e' che su qualsiasi link che spingo per eliminare quel record,,


    mi elimina tutti i record associati a quella email.. es: ho 3 record con la stessa email, se ne voglio

    eliminare uno, me li elimina tutti. come posso fare per far si che si elimini solo il record del link selezionato?

    grazie.

    codice stampa dei record con i link per eliminarli:



    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="generator" content="AlterVista - Editor HTML"/>
    <title></title>
    </head>
    <body>
    <div style="font-size:1.15em;color:#0e3c68;font-weight:bold;margin-left:15px;;margin-top:35px;position:fixed;">Ecco i tuoi annunci, puoi eliminarli uno alla volta.</div>

    <?php

    $email = $_POST['email'];
    setcookie ('email',$_POST['email'],time()+1200);



    $db_host = 'localhost';
    $db_user = 'noncecapisco';
    $db_pass = '';
    $db_name = 'my_noncecapisco';

    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);


    if ($cn->connect_errno) {
    echo "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }

    $sql = "SELECT *FROM Animali WHERE email='".$email."' ";

    $result = $cn->query($sql);
    if(mysqli_num_rows($result) > 0)
    {





    $array_estensioni_poster = array('mkv','3gp','wmv','webm');
    $array_estensioni_video = array('mp4');
    $array_estensioni_immagini = array('jpg','jpeg','gif','tiff');

    while ($row = $result->fetch_assoc()) {
    $estensione = pathinfo($row["file"], PATHINFO_EXTENSION);

    if(in_array($estensione, $array_estensioni_immagini))
    {


    echo "<img src ='".$row["file"]."'style='width:200px;height:auto;margin-left:430px;margin-top:100px;border-radius:15px;'>
    <a href=http://noncecapisco.altervista.org/animali/elimina%20annuncio.php>elimina annuncio</a><br>".PHP_EOL;

    }

    else if(in_array($estensione, $array_estensioni_poster))
    {
    echo "<video poster='video-google-drive1.jpg'preload='auto' src='".$row["file"]."'controls='true' position='fixed'style='width:200px;height:auto;mar gin-left:430px;margin-top:100px;border-radius:15px; border: 2px solid #C0C0C0;'></video><a href=http://noncecapisco.altervista.org/animali/elimina%20annuncio.php>elimina annuncio</a><br>".PHP_EOL;

    }
    else if(in_array($estensione, $array_estensioni_video))
    {
    echo "<video preload='auto' src='".$row["file"]."'controls='true' position='fixed'style='width:200px;height:auto;mar gin-left:430px;margin-top:100px;border-radius:15px;'></video><a href=http://noncecapisco.altervista.org/animali/elimina%20annuncio.php>elimina annuncio</a><br>".PHP_EOL;
    }

    echo'<div style="margin-left:430px;width:200px;word-wrap:break-word;color:#666666;margin-top:5px;margin-bottom:-40px;">'.$row["testo"].'</div><br>'.PHP_EOL;

    }
    } else {
    echo"email non registrata,prova con un'altra.";
    $italia = "http://noncecapisco.altervista.org/animali/Italia.php";
    header("Refresh: 3; url=" . $italia);

    }



    ?>
    </div>
    <p>&nbsp;</p>

    </body>
    </html>

    ------------------------------------------------------------------------------------------------------

    codice per eliminarli tramite lik:


    <?php
    $email = $_COOKIE['email'];
    $file = $_COOKIE['file'];
    $servername = "localhost";
    $username = "noncecapisco";
    $password = "";
    $dbname = "my_noncecapisco";


    $cn = new mysqli($servername, $username, $password, $dbname);
    if ($cn->connect_errno) {
    echo "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }
    $sql = "DELETE FROM Animali WHERE email ='".$email."' ";


    $result = $cn->query($sql);
    if ($result == 1) {


    echo" l'annuncio e stato eliminato ";

    } else {
    echo"non e'stato possibile eliminare l'annuncio ".$conn->error;
    }
    $cn->close();




    ?>


    grazie e buon sabato a tutti.
    Ultima modifica di noncecapisco : 20-04-2024 alle ore 17.49.30

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,806

    Predefinito

    Sì, devi agire con qualcosa che identifichi quel file. Solitamente si usa l'ID in questi casi, quindi dovrai fare una cosa come:

    Codice:
    $sql = "DELETE FROM Animali WHERE id ='".$id."' ";
    Con $id che vale il file che deve essere eliminato. Potresti generare un link di questo tipo:
    Codice PHP:
    echo "<img src ='".$row["file"]."'style='width:200px;height:auto;margin-left:430px;margin-top:100px;border-radius:15px;'>
    <a href=http://noncecapisco.altervista.org/animali/elimina%20annuncio.php?id=
    $row["id"]>elimina annuncio</a><br>".PHP_EOL;
    Quindi, nella pagina che elimina il file:

    Codice PHP:
    if(isset($_GET['id']))
    {
    $id = $cn->real_escape_string($_GET['id']);
    $sql = "DELETE FROM Animali WHERE id=".$id." AND email ='".$email." ";
    ....
    }
    Ciao!

  3. #3
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    alemoppooooooooooooooooooooo..... magari me funziona!!!! scusa per l'sms in privato ma quando ho visto il problema

    sono andato in panico.... ok ci provo e ti faccio sapere...grazie

  4. #4
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    nella pagina dove ho messo il link mi da questo errore....


    Errore di analisi : errore di sintassi, inaspettato '' (T_ENCAPSED_AND_WHITESPACE), aspettando '-' o identificatore (T_STRING) o variabile (T_VARIABLE) o numero (T_NUM_STRING) in /membri/noncecapisco/animali/verifica email mysql.php on line 53


    me dice che aspetta l'identificatore....

  5. #5
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    [commento]
    ho capito quale e' il problema, e' lo stesso che avevo quando dovevo cercare gli annunci associati alla email che
    inseriscono nel form della pagina principale "cerca annunci da eliminare". il form "cerca annunci da eliminare", e' collegato alla query di mysql che cerca gli annunci con quella email, e!!! per fargli riconoscere gli annunci con la email "$email", ho dovuto settare il cookie della email tramite $_POST ['email'] dalla pagina dove arrivava la email, alla pagina dove vengono eliminati gli annunci con "$email". in poche parole: nel link elimina annunci php=$get ['id'] chi glielo dice a mysql l'id della riga? e poi...mysql...come fa a sapere quale' l'estenzione del file da eliminare? non lo sa..non glielo dice nessuno, ecco perche elimina tutti i record con quella email.ok... se riesco a trovare una soluzione me imbriago de vino. ah ah... ciao alemoppo grazie sempre per tutto e buona domenica.
    [/commento]




    Codice PHP:

    <?php
    $email
    = $_COOKIE['email'];
    $file = $_COOKIE['file'];
    $servername = "localhost";
    $username = "noncecapisco";
    $password = "";
    $dbname = "my_noncecapisco";


    $cn = new mysqli($servername, $username, $password, $dbname);
    if (
    $cn->connect_errno) {
    echo
    "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }
    if(isset(
    $_GET['id']))
    {
    $id = $cn->real_escape_string($_GET['id']);
    $sql = "DELETE FROM Animali WHERE id=".$id." AND email ='".$email." ";

    }



    {
    $id = $cn->real_escape_string($_GET['id']);


    $result = $cn->query($sql);
    if (
    $result == 0) {


    echo
    " l'annuncio e stato eliminato ";

    } else {
    echo
    "non e'stato possibile eliminare l'annuncio ".$conn->error;
    }
    }
    $cn->close();


    ?>



    [commento]

    PS: per drenaut...adesso ho capito..ah ah

    [/commento]
    Ultima modifica di noncecapisco : 21-04-2024 alle ore 11.56.02

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •