Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 32

Discussione: Problemi cancellazione record da database

  1. #1
    Guest

    Predefinito Problemi cancellazione record da database

    Buonasera a tutti! Ho un problema con la cancellazione dei records dal database. Il codice che ho inserito qua sotto dovrebbe in teoria cancellarmi il record che chiedo di rimuovere, invece mi cancella sempre l'ultimo record inserito nel database...
    Per fare aiutatemi.... Grazie!!!

    Codice PHP:
    <?php
    @include "config.php";

    // estraggo i dati dalla tabella
    $sql = "SELECT * FROM newsletter ORDER BY id";
    $query = @mysql_query($sql) or die (mysql_error());

    echo
    "<table border=\"1\">\n";

    //verifico che sia presente almeno un record
    if(mysql_num_rows($query) > 0){

    // se la tabella contiene records li mostro attraverso un ciclo
    while($row = mysql_fetch_array($query)){
    $id = $row['id'];
    $email_newsletter = stripslashes($row['email_newsletter']);


    //impagino i records
    echo "<tr><td width=\"80%\"><font size=\"2\" face=\"Segoe Print\">\n";
    echo
    $email_newsletter;
    echo
    "</font></td>\n";
    echo
    "<font size=\"2\" face=\"Segoe Print\"><td>\n";

    //creo il bottone per l'eliminazione del record
    echo "<form method=\"post\" action=\"elenco_newsletter.php\">\n";
    echo
    "<input type=\"submit\" name=\"Submit\" value=\"Rimuovi\"></form>\n";
    echo
    "</td></font></tr>\n";

    }
    }else{
    // se in tabella non ci sono records...
    echo "<tr><td><font size=\"3\">\n";
    echo
    "Non ci sono iscritti";
    echo
    "</font></td></tr>\n";
    }
    echo
    "</table>\n";

    //ora la query per cancellare il record
    if(isset($_POST['Submit']))
    {
    $sql_d = "DELETE FROM newsletter WHERE id=$id";

    if (@
    mysql_query($sql_d) or die (mysql_error())){
    echo
    "Eliminazione di " . $email_newsletter . " effettuata con successo";
    }
    }
    ?>

  2. #2
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    prova cosi:
    Codice PHP:
    $sql_d = "DELETE FROM newsletter WHERE id=".$id;
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  3. #3
    Guest

    Predefinito

    Grazie per l'aiuto Xsescott ma non funziona lo stesso mi elimina sempre l'ultimo record inserito

  4. #4
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da vliguria Visualizza messaggio
    Grazie per l'aiuto Xsescott ma non funziona lo stesso mi elimina sempre l'ultimo record inserito
    Perchè giustamente è quello che gli hai scritto di fare.
    devi usare un qualche metodo per selezionare l'email che vuoi eliminare e quindi durante la pressione del tasto Rimuovi passargli l'id del record che vuoi eliminare.

    puoi usare una checkbox del tipo:
    Codice PHP:
    <?php
    @include "config.php";

    // estraggo i dati dalla tabella
    $sql = "SELECT * FROM newsletter ORDER BY id";
    $query = @mysql_query($sql) or die (mysql_error());

    echo
    "<table border=\"1\">\n";

    //verifico che sia presente almeno un record
    if(mysql_num_rows($query) > 0){
    //creo il bottone per l'eliminazione del record
    echo "<form method=\"post\" action=\"elenco_newsletter.php\">\n";
    // se la tabella contiene records li mostro attraverso un ciclo
    while($row = mysql_fetch_array($query)){
    $id = $row['id'];
    $email_newsletter = stripslashes($row['email_newsletter']);


    //impagino i records

    echo "<tr><td width=\"80%\"><font size=\"2\" face=\"Segoe Print\">\n";
    echo
    "<INPUT type=\"CHECKBOX\" name=\"".$email_newsletter."\" value=\"".$id."\"> ";
    echo
    $email_newsletter;
    echo
    "</font></td>\n";
    echo
    "<font size=\"2\" face=\"Segoe Print\"><td>\n";
    echo
    "</td></font></tr>\n";

    }
    echo
    "<input type=\"submit\" name=\"Submit\" value=\"Rimuovi\"></form>\n";
    }else{
    // se in tabella non ci sono records...
    echo "<tr><td><font size=\"3\">\n";
    echo
    "Non ci sono iscritti";
    echo
    "</font></td></tr>\n";
    }
    echo
    "</table>\n";

    //ora la query per cancellare il record
    if(isset($_POST['Submit']))
    {
    foreach (
    $_POST as $email => $id) {
    if(
    is_int($id)){
    $sql_d = "DELETE FROM newsletter WHERE id=".$id;
    if (@
    mysql_query($sql_d) or die (mysql_error())){
    echo
    "Eliminazione di " . $email . " effettuata con successo";
    }
    } }
    ?>
    avevo dimenticato una cosa importante, ora dovrebbe andare ma considera che non l'ho testato.
    Ultima modifica di Xsescott : 20-11-2009 alle ore 01.33.22
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  5. #5
    Guest

    Predefinito

    Grazie mille xsescott adesso funziona anche se da quello che capisco basta un solo bottone per tutto vero??? Un ultima cosa, conosci qualche script per eliminare i record da un form con un campo testo??
    Ultima modifica di vliguria : 20-11-2009 alle ore 01.18.43

  6. #6
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da vliguria Visualizza messaggio
    Grazie mille xsescott adesso funziona anche se da quello che capisco basta un solo bottone per tutto vero??? Un ultima cosa, conosci qualche script per eliminare i record da un form con un campo testo??
    controlla che hai preso l'ultimo, perchè quello precedente non cancellava più di un record a clic, quindi se ne selezionavi 3 lui cancellava solo l'ultimo selezionato..

    comunque, in che senso da un form?

    ad esempio metti email@iod.it in un form premi invio e quello si cancella?
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  7. #7
    Guest

    Predefinito

    si esatto inserendo l'email l'utente puo cancellarsi dalla newsletter. comunque non c'è un modo per cancellare tutti quelli selezionati???

  8. #8
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da vliguria Visualizza messaggio
    si esatto inserendo l'email l'utente puo cancellarsi dalla newsletter. comunque non c'è un modo per cancellare tutti quelli selezionati???
    quello che ti ho modificato su ora dovrebbe cancellare tutti quelli che selezioni
    comunque sia invece di una checkbox usi un oggetto input di tipo text:

    Codice:
    <INPUT type="TEXT" name="nome" maxlength="30" size="20" value="Inserisci nome">
    prima cosa ti consiglio di settare il campo email della tua tabella con unique(email)
    cosi esisterà il vincolo che potrai avere solo un record per ogni indirizzo email
    poi farai un controllo che sia realmente una email quella che inserisce l'utente
    come seconda cosa cerchi nel database il record associato a quella email
    come terza cosa se trovi questo record lo elimini altrimenti spari l'info che non esiste

    ricorda che il campo unique serve a garantire un vincolo intrarelazionale, meglio detto come un vincolo su quella tabella che specifica che per il campo email della tabella newsletter non potrai avere due righe con lo stesso indirizzo email.
    Ultima modifica di Xsescott : 20-11-2009 alle ore 02.19.00
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  9. #9
    Guest

    Predefinito

    ok ho capito il mio problema e che so come riprenderlo con SELECT * FROM, pero non so cosa devo fare per dirgli che se trova il valore uguale lo devi cancellare. Potresti darmi un ultimo aiuto??
    Ultima modifica di vliguria : 20-11-2009 alle ore 02.05.11

  10. #10
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da vliguria Visualizza messaggio
    ok ho capito il mio problema e che so come riprenderlo con SELECT * FROM, pero non so cosa devo fare per dirgli che se trova il valore uguale lo devi cancellare. Potresti darmi un ultimo aiuto??
    esegui questo comando sul database per rendere unico il campo email_newsletter:

    Codice:
    alter table newsletter add unique (email_newsletter)

    Codice PHP:
    <?php
    @include "config.php";

    // estraggo i dati dalla tabella
    $sql = "SELECT * FROM newsletter ORDER BY id";
    $query = @mysql_query($sql) or die (mysql_error());
    //creo il bottone per l'eliminazione del record
    echo "<form method=\"post\" action=\"elenco_newsletter.php\">\n";
    echo
    "<table border=\"0\">\n";

    //verifico che sia presente almeno un record
    if(mysql_num_rows($query) > 0){
    // se la tabella contiene records li mostro attraverso un ciclo
    while($row = mysql_fetch_array($query)){
    $id = $row['id'];
    $email_newsletter = stripslashes($row['email_newsletter']);


    //impagino i records

    echo "<tr><td width=\"80%\"><font size=\"2\" face=\"Segoe Print\">\n";
    echo
    "<INPUT type=\"CHECKBOX\" name=\"".$email_newsletter."\" value=\"".$id."\"> ";
    echo
    $email_newsletter;
    echo
    "</font></td>\n";
    echo
    "<font size=\"2\" face=\"Segoe Print\"><td>\n";
    echo
    "</td></font></tr>\n";

    }

    }else{
    // se in tabella non ci sono records...
    echo "<tr><td><font size=\"3\">\n";
    echo
    "Non ci sono iscritti";
    echo
    "</font></td></tr>\n";
    }
    echo
    "</table>\n";
    echo
    "<input type=\"submit\" name=\"Submit\" value=\"Rimuovi\"></form>\n";

    //ora la query per cancellare il record
    if(isset($_POST['Submit']))
    {
    foreach (
    $_POST as $email => $id) {
    if(
    is_numeric($id)){
    $sql_d = "DELETE FROM newsletter WHERE id=".$id;
    if (@
    mysql_query($sql_d) or die (mysql_error())){
    echo
    "Eliminazione di " . $email . " effettuata con successo";
    }
    } }
    ?>
    Ultima modifica di Xsescott : 20-11-2009 alle ore 02.16.33
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  11. #11
    Guest

    Predefinito

    grazie mille adesso funziona alla perfezione!!! 6 bravissimo.
    Adesso se non disturbo troppo dovresti darmi una mano per il discorso della cancellazione tramite campo text. Io avrei fatto questo anche se penso sia sbagliato
    Codice PHP:
    <form action="rimuovi.php" method="post">
    E-mail:
    <
    input name="email_newsletter" type="text"/>
    <
    input type="submit" name="Submit" value="Cancella">
    </
    form>
    Questa in basso è la pagina del processo
    Codice PHP:
    <?php
    @include 'config.php';
    if(isset(
    $_POST['Submit'])){

    $sql = "DELETE FROM newsletter WHERE email_newsletter='$email_newsletter'";

    if (@
    mysql_query($sql) or die (mysql_error())){
    echo
    "La tua e-mail è stata cancellata.";
    }
    }
    ?>
    Ultima modifica di vliguria : 20-11-2009 alle ore 02.27.26

  12. #12
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da vliguria Visualizza messaggio
    grazie mille adesso funziona alla perfezione!!! 6 bravissimo.
    Adesso se non disturbo troppo dovresti darmi una mano per il discorso della cancellazione tramite campo text. Io avrei fatto questo anche se penso sia sbagliato
    Codice PHP:
    <form action="rimuovi.php" method="post">
    E-mail:
    <
    input name="email_newsletter" type="text"/>
    <
    input type="submit" name="Submit" value="Cancella">
    </
    form>
    Questa in basso è la pagina del processo
    Codice PHP:
    <?php

    function ControlloEmail($email){
    $result = eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$email);
    if(
    $result == false){
    return
    false;
    }else{
    return
    true;
    }
    }

    @include
    'config.php';
    if(isset(
    $_POST['Submit']){
    if(
    ControlloEmail($_POST['email_newsletter'])){
    $sql = "DELETE FROM newsletter WHERE email_newsletter='$_POST['email_newsletter']'";
    if (@
    mysql_query($sql) or die (mysql_error())){
    echo
    "<br><br>La tua e-mail è stata cancellata.";
    }
    else {echo
    "<br><br>email non trovata.";}
    }
    else{ echo
    "<br><br>email errata.";}
    }
    ?>
    cosi in teoria dovrebbe andare bene
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  13. #13
    Guest

    Predefinito

    non va mi da errore di una parentesi { sulla linea
    Ultima modifica di vliguria : 20-11-2009 alle ore 08.22.18

  14. #14
    Guest

    Predefinito

    Sulla linea?

    Dopo:
    Codice PHP:
    $sql = "DELETE FROM newsletter WHERE email_newsletter='$_POST['email_newsletter']'";
    manca.

    Ecco il codice leggermente migliorato:
    Codice PHP:
    <?php

    function ControlloEmail($email)
    {
    if (!
    preg_match("/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,3}$/i", $email))
    {
    return
    false;
    }

    return
    true;
    }

    include(
    'config.php');

    if (isset(
    $_POST['Submit'])
    {
    if (
    ControlloEmail($_POST['email_newsletter']))
    {
    $sql = "DELETE FROM newsletter
    WHERE email_newsletter = '"
    . $_POST['email_newsletter'] . "'";
    if (
    $result = mysql_query($sql))
    {
    if (
    mysql_affected_rows($result))
    {
    echo
    '<br /><br />La tua e-mail &egrave; stata cancellata.';
    }
    else
    {
    echo
    '<br /><br />Indirizzo e-mail non presente nei database.';
    }
    }
    else
    {
    die(
    ' Errore nella query: ' . mysql_error());
    }
    }
    else
    {
    echo
    '<br /><br />Formato e-mail errato.';
    }
    }

    ?>
    Dimmi se funziona.

    PS: Ti sconsiglio vivamente di antecedere le funzioni con @, nemmeno i pù esperti dovrebbero farlo, è un buon modo per sapere se ci sono errori e quali.

  15. #15
    Guest

    Predefinito

    No non funziona mi da sempre un errore della parentesi {, in questa linea
    Codice PHP:
    if (isset($_POST['Submit'])
    {

  16. #16
    Guest

    Predefinito

    vliguria, potresti anche sforzarti un pò a capire come funziona... Aggiungi una ) dopo la ).

  17. #17
    Guest

    Predefinito

    si infatti l'ho fatto adesso, ho aggiunto la parentesi, la pagina non mi da più errore ma quando provo a eliminare non stampa nessun messaggio e non elimina l'email

  18. #18
    Guest

    Predefinito

    Prova a modifica:
    Codice PHP:
    if (mysql_affected_rows($result))
    Con:
    Codice PHP:
    if (mysql_affected_rows($result) > 0)

  19. #19
    Guest

    Predefinito

    No non va, non stampa niente e non processa niente. Ma non potrebbe essere un errore nella query?

  20. #20
    Guest

    Predefinito

    Stamperebbe l'errore mysql_error() se la query no nvenisse eseguita.
    Sicuramente è un problema della condizione, prova a modifcare, nella documentazione di PHP fanno così:
    Codice PHP:
    <?php

    function ControlloEmail($email)
    {
    if (!
    preg_match("/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,3}$/i", $email))
    {
    return
    false;
    }

    return
    true;
    }

    include(
    'config.php');

    if (isset(
    $_POST['Submit']))
    {
    if (
    ControlloEmail($_POST['email_newsletter']))
    {
    $sql = "DELETE FROM newsletter
    WHERE email_newsletter = '"
    . $_POST['email_newsletter'] . "'";
    if (
    mysql_query($sql))
    {
    if (
    mysql_affected_rows() > 1)
    {
    echo
    '<br /><br />La tua e-mail &egrave; stata cancellata.';
    }
    else
    {
    echo
    '<br /><br />Indirizzo e-mail non presente nei database.';
    }
    }
    else
    {
    die(
    ' Errore nella query: ' . mysql_error());
    }
    }
    else
    {
    echo
    '<br /><br />Formato e-mail errato.';
    }
    }

    ?>

  21. #21
    Guest

    Predefinito

    va sempre lo stesso, non so cosa possa essere

  22. #22
    Guest

    Predefinito

    Aggiungi error_reporting(E_ALL); all'inizio dello script dopo <?php e guarda se restituisce qualche Notice o altro.

  23. #23
    Guest

    Predefinito

    non riporta nessuna notice

  24. #24
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da vliguria Visualizza messaggio
    No non funziona mi da sempre un errore della parentesi {, in questa linea
    Codice PHP:
    if (isset($_POST['Submit'])
    {
    chissà se manca una -> )
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  25. #25
    Guest

    Predefinito

    Citazione Originalmente inviato da Xsescott Visualizza messaggio
    chissà se manca una -> )
    Chissà se avessi letto cosa avresti postato al posto di questo

  26. #26
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da vliguria Visualizza messaggio
    No non va, non stampa niente e non processa niente. Ma non potrebbe essere un errore nella query?
    hai avviato la connessione mysql_connect() e la selezione del db mysql_db()?

    il codice che ha migliorato biricheddu va bene, e mysql_affected_rows() deve controllare che sia stato eliminato solo 1 record, quindi > 0 o ancora meglio = 1, dato che in teoria non dovresti permettere l'inserimento di piu record con lo stesso indirizzo email.

    Per il resto ripeto, controlla che fai partire la connessione al db.

    ps. biricheddu, di solito passo ma di fretta. non so se ti eri accorto di quello che ho scritto tra l'altro, ho fatto di mysql_query una funzione che mi restituisce anche un risultato sulle operazionisui record...non sò se mi spiegho
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  27. #27
    Guest

    Predefinito

    la connessione parte ne sono sicuro perche utlizzo lo stesso file di connessione per altre applicazioni e funzionano senza problemi

  28. #28
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da vliguria Visualizza messaggio
    la connessione parte ne sono sicuro perche utlizzo lo stesso file di connessione per altre applicazioni e funzionano senza problemi

    riposta tutto il codice che usi.
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  29. #29
    Guest

    Predefinito

    ecco il codice

    Codice PHP:
    <form action="http://www.pdcarini.com/newsletter/rimuovi.php" method="post">
    <tr>
    <td align="center">
    E-mail:
    <input name="email" type="text"/><br><br>
    <input type="submit" name="Submit" value="Cancella">
    </form>

    <?php

    function ControlloEmail($email)
    {
    if (!
    preg_match("/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,3}$/i", $email))
    {
    return
    false;
    }

    return
    true;
    }

    include(
    'config.php');

    if (isset(
    $_POST['Submit']))
    {
    if (
    ControlloEmail($_POST['email_newsletter']))
    {
    $sql = "DELETE FROM newsletter
    WHERE email_newsletter = '"
    . $_POST['email_newsletter'] . "'";
    if (
    mysql_query($sql))
    {
    if (
    mysql_affected_rows() > 1)
    {
    echo
    '<br /><br />La tua e-mail &egrave; stata cancellata.';
    }
    else
    {
    echo
    '<br /><br />Indirizzo e-mail non presente nei database.';
    }
    }
    else
    {
    die(
    ' Errore nella query: ' . mysql_error());
    }
    }
    else
    {
    echo
    '<br /><br />Formato e-mail errato.';
    }
    }

    ?>

  30. #30
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Trasforma il form cosi:
    Codice PHP:
    <form action="http://www.pdcarini.com/newsletter/rimuovi.php" method="post">
    <
    tr>
    <
    td align="center">
    E-mail:
    <
    input name="email_newsletter" type="text"/><br><br>
    <
    input type="submit" name="Submit" value="Cancella">
    </
    form>
    vedi che il controllo lo fai sulla variabile di nome email_newsletter e non email :)

    Allora, per l'inserimento hai ben pensato di mantenere il vincolo "unique" per il campo email?
    Ricordati che quando fai il form di iscrizione devi controllare che se un utente cerca di iscriversi due volte , gli sprari un messaggio che lo informa che lui è già iscritto.
    Quindi del codice per la cancellazione puoi tranquillamente scrivere:
    Codice:
    if (mysql_affected_rows() == 1)
    al posto di
    Codice:
    if (mysql_affected_rows() > 0)
    ma sicuramente
    Codice:
    if (mysql_affected_rows() > 1)
    è sbagliato perchè restituisce il messaggio solo se cancella almeno 2 query.

    cosa che non rispetta i prerequisiti del tuo script, che deve canellare un indirizzo email, e che per quell'indirizzo email deve esistere solo un record che lo rappresenta. Semplicemente parlando non ha senso fare iscrivere due volte una persona, una volta che è iscritta è iscritta e riceve la sua newsletter ;)
    Ultima modifica di Xsescott : 22-11-2009 alle ore 17.28.23
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

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