Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302

    Conferma eliminazione record dal database

    Buongiorno a tutti,
    ho una funzione php che mi genera un link che punta ad pagina che esegue una query di delete da un db mysql.

    Questa la pagina che genera il link:

    codice:
    echo "
    <center><table>
    <tr><th colspan='6'>RISULTATI RICERCA</th><th colspan='5'>OPERAZIONI</tr>
    <tr><th>Elimina</tr>
    
    </center>";
    while ($riga = mysql_fetch_row($cerca)){
    echo "<tr><td>$riga[0]<td><td><a href=\"elimina.php?id=$riga[0]\"><img src= \"img/elimina_32_32.png\"></a></center></td></tr>";
    
    }
    echo "</table>";
    Questa la pagina elimina.php

    codice:
    // PREPARO LA QUERY DI ELIMINAZIONE
    $sql = "DELETE FROM tabella WHERE id='$_SESSION[id]'";
     
     
    // ESEGUO LA QUERY
    $result = mysql_query($sql);
     
    // CONTROLLO L'ESITO
    if (!$result) {
        die("Errore nella query $sql: " . mysql_error());
     
    }
    else
    echo 'Il record &agrave; stato correttamente cancellato'; 
     
    
    // E chiudiamo la connessione a MySQL
    mysql_close();
     
    ?>
    Ora cosi come strutturata, clicco su elimina, la riga dal database viene eliminata in maniera nuda e cruda senza nessun messaggio di conferma. Vorrei integrare una funzione js che intercetti il clic sul link elimina e generi un messaggio a video che chiede "Sei sicuro di procedere con l'eliminazione ?"


    Ho provato a fare così, ma non funziona

    codice:
    <a href=\"elimina.php?id=$riga[0]\ onclick=\"if(confirm('confermi l\'eliminazione?'))location.href=this.href;else;return false\"><img src= \"img/elimina_32_32.png\"></a>

    Mi dareste una mano ?

    Ultima modifica di condor_uk; 04-07-2015 a 11:38
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Cose che non funziona:
    - il confirm javascript?
    - o la query delete?
    Attenzione alla pagina elimina.php passi un request ma nella query metti una session

  3. #3
    codice:
    <a href=\"elimina.php?id=$riga[0]\ onclick=\"return confirm('confermi l\'eliminazione?')"><img src= \"img/elimina_32_32.png\"></a>

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Cose che non funziona:
    - il confirm javascript?
    - o la query delete?
    Attenzione alla pagina elimina.php passi un request ma nella query metti una session
    Ciao Andrea,
    la query delete funziona perfettamente e la conformità javascript che viene ignorata. Il browser supporta e usa altri script js perfettamente.
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    codice:
    <a href=\"elimina.php?id=$riga[0]\ onclick=\"return confirm('confermi l\'eliminazione?')"><img src= \"img/elimina_32_32.png\"></a>
    Ciao lucavizzi,
    il codice cosi come postato probabilmente contiene un errore sintattico, ho integrato il codice in questo modo

    codice:
    <a href=\"elimina.php?id=$riga[0]\ onclick=\"return confirm('confermi l\'eliminazione?')\"><img src= \"img/elimina_32_32.png\"></a>

    ma appena clicco sul link elimina succede questo:


    codice:
    DELETE FROM tabella WHERE id='1487\ onclick='Il record à stato correttamente cancellato
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  6. #6
    Quote Originariamente inviata da condor_uk Visualizza il messaggio
    Ciao lucavizzi,
    il codice cosi come postato probabilmente contiene un errore sintattico, ho integrato il codice in questo modo

    codice:
    <a href=\"elimina.php?id=$riga[0]\ onclick=\"return confirm('confermi l\'eliminazione?')\"><img src= \"img/elimina_32_32.png\"></a>

    ma appena clicco sul link elimina succede questo:


    codice:
    DELETE FROM tabella WHERE id='1487\ onclick='Il record à stato correttamente cancellato
    L'evento onclick entra a far parte dell'href che non è "chiuso" dai doppi apici.
    codice:
    <a href=\"elimina.php?id=$riga[0]\ onclick=\"return
    Per migliorare la leggibilità del codice potresti chiudere il marcatore di php:

    Codice PHP:
    while ($riga = mysql_fetch_row($cerca)){
    ?>
    <tr>
       <td><?php echo($riga[0]);?></td>
       <td><a href="elimina.php?id=<?php echo($riga[0]);?>" onclick="return confirm('Cancellare definitivamente?')"><img src="img/elimina_32_32.png"></a></center></td>
    </tr>
    <?php
    }

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Nel href mancano le virgolette finali Di chi usurp codice:
    <a href=\"elimina.php?id=$riga[0]\" onclick=\"returnconfirm('confermi l\'eliminazione?')\"><img src=\"img/elimina_32_32.png\"></a>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Grazie al vostro supporto ho risolto.

    Lascio il codice corretto e funzionante per i posteri

    codice:
    <a href=\"elimina.php?id=$riga[0]\" onclick=\"return confirm('Cancellare definitivamente?')\"><img src=\"img/elimina_32_32.png\"></a>
    Ultima modifica di condor_uk; 04-07-2015 a 19:43
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.