Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026

    Eliminare dati da submit generato alla visualizzazione dati

    ciao,ho problema, questo è il sito :www.ispuk.altervista.org/mailer

    sto cercando di sviluppare un interfaccia per invio multiplo mail,èancora ai rudimenti,sono incappato in u dubbio enorme,

    tramite le textarea dell'interfaccia posso inserire e cancellare email ,per poi poterle visualizzare nel div con overflow in basso,potete provare .

    il fatto è ch oltre alla possibilità di poterle cancellare da textarea,stvo cercando il modo di poterle cancelare generando dei pulsanti subit al momento della visualizzazione delle email nel iv "overflow"

    il problema è che non so come assegnare ad ogni pulsante ,la sua relativa email,con le textarea è semplice tramite DELETE cerco l'email che sia uguale a quella che ho scritto, ma con i pulsanti non so come collegarli ad ogni singola email


    di seguito riporto le pagine in php di tutte le azioni,spero che qualche buon anima abbia la pazienza di aiutarmi


    allora:
    questa è la pagina index.php:

    Codice PHP:
    <form method="post" action="insert_delete.php">
    [b] Email[/b]

    <input type="text" name="indirizzo">

    <input type="submit" name="inserisci" value="Inserisci email">

    <input type="text" name="indirizzo_canc">

    <input type="submit" name="cancella" value="Cancella email">

    </form>
    [b]Email Destinatari[/b]
     
    <?php
    //Variabili Globali
    $mittente=$_POST['mittente'];
    $emailmittente=$_POST['emailmittente'];
    $testo=$_POST['testo'];
    //EMAIL MYSQL
    $indirizzo=$_POST['indirizzo'];
    $indirizzo_canc=$_POST['indirizzo_canc'];
    //Pulsanti
    $inserisci=$_POST['inserisci'];
    $cancella=$_POST['cancella'];
    ?>



    <?php
    include("view_email.php");

    ?>


    quest'altra la insert_delete.php:

    Codice PHP:
    <?php
    include("db_connect.php");
    //Variabili Globali
    $mittente=$_POST['mittente'];
    $emailmittente=$_POST['emailmittente'];
    $testo=$_POST['testo'];
    //EMAIL MYSQL
    $indirizzo=$_POST['indirizzo'];
    $indirizzo_canc=$_POST['indirizzo_canc'];
    //Pulsanti
    $inserisci=$_POST['inserisci'];
    $cancella=$_POST['cancella'];

    //Inserimento manuale email da Form

    if(isset($inserisci) and ($indirizzo !=''))

     {
    $query_insert mysql_query("INSERT INTO users(email) VALUES ('$indirizzo')") or die(mysql_error());}


    //Cancella email dal DB


    if(isset($cancella) and ($indirizzo_canc !=''))
    {
    $query_cancellamysql_query("DELETE FROM users WHERE email = '$indirizzo_canc'") or die(mysql_error());}

    //Reindirizzamento pagina"insert_delete.php"
    header('location:index.php');exit;
    ?>

    quest'altra ancora è la view_mail.php che come vedete alla fine dovrebbe avere la funzione di cancellamento dati da i submit generati nell'echo di questa stessa pagina:

    Codice PHP:
    <?php
    include("db_connect.php");
    ?>


      <?php
     
     $erase_button
    $_POST['erase_button'];
      
    $indice1;
    //Estrazione email da MYSQL,per refresh immediato,in TABELLA
    $query_select mysql_query("SELECT email FROM users ");
    while(
    $mailmysql_fetch_array($query_select))
    {
    extract($mail);
     echo  
    "<tr><td>".$indice++."</td><td>Email</td><td><h3>$email</td><td><input type=submit name=erase_button value=cancella></td></tr> </form>
    "
    ;}
    if(isset(
    $erase_button))

    //cancellamento dati tramite submit generati
    {$erase_query=mysql_query("DELETE  FROM users where email='$mail'");
    }

    ?>


    ringrazio di cuore chi può aiutarmi

  2. #2
    Uhmm io potrei provare ad aiutarti se ho capito quel che vuoi fare...
    dunque ho visto il tuo link

    1 tu vuoi avere un invio messaggio con nome mittene email mittente e messaggio...
    2 tu inserisci della email e nel campo text se digitate le cancelli

    Attualmente io le vedo come due cose molti slegate...oppure c'è qualcosa che collega l'invio email con la lista di email sotto..?^^
    ..................
    Scusa ma sono tonto
    ..................

    Ma perchè per cancellare ogni singola email inserita devo digitare tale email...non è + comodo fare un bottoncino a fianco di ogni singola email che linka ad una pagina dove cancelli tale email con un redirect ?

    è questo che vuoi fare, poter cancellare ogni singola email senza doverla scrivere?
    nel caso affermativo io farei così

    Inserimento email
    - nella tabella che "raccoglie" le email aggiungi un campo |codice|
    - al momento di inserire una email crei una stringa alfanumerica per la mail inserita

    ------
    PAGINA DELETE
    passi per get i 2 valori
    delete.php?id=4&code=ij43roj2o4jroij23ojir

    confronti questi due get per vedere se corrispondono ad un record....
    SELECT * FROM tabemail WHERE id = 4 and codice = ij43roj2o4jroij23ojir
    num = mysql_num_rows...

    se trovi corrispondenza allora elimini
    if(num = 1){
    delete from ...etc..
    }
    header('location: paginamia.php')
    ------

    PAGINA ELENCO EMAIL CON RELATIVO BOTTONE DI DELETE
    ------
    Elimina il form...non ha senso a mio avviso e sostituiscilo con 1 immagine tipo PNG una X rossa quello che vuoi insomma...un link...

    <?php

    $erase_button= $_POST['erase_button'];
    $indice= 1;
    //Estrazione email da MYSQL,per refresh immediato,in TABELLA
    $query_select = mysql_query("SELECT email FROM users ");
    while($mail= mysql_fetch_array($query_select))
    {extract($mail);
    echo "<tr><td>".$indice++."</td><td>Email</td><td><h3>$email</td><td>

    [img]cancella.png[/img]

    </td></tr>
    ";}


    //questa delete la cancelli oltre a non essere sicura non ti serve in questa pagina
    /*
    if(isset($erase_button))
    {$erase_query=mysql_query("DELETE FROM users where email='$mail'");
    }
    */
    ?>




    Inoltre nel campo in alto ci metterei qualche validazione in JS on in php per essere sicuro che nel campo email venga scritta una mail e non "ouiwhrfoiweoifowiejf" ma almeno "uowhoifw@wfwe.it" ...un pochino di check per i campi del form

    $indirizzo_canc=$_POST['indirizzo_canc']; < questo non ti serve + per cui

    ...ho centrato il tuo problema?

  3. #3
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ciao,inanzitutto ti ringrazio di aver speso tempo per i miei dubbi banali, hai centrato in pieno il problema



    sto cercando di seguire il tuo consiglio

    ho creato un campo code nella tabella delle email che insieme alla email inserita mi raccoglie un
    codice random generato nell'inserimento della email nella tabella e quindi ho corretto la pagina insert_delete.php

    cosi:

    Codice PHP:
    <?php
    include("db_connect.php");
    //Variabili Globali
    $mittente=$_POST['mittente'];
    $emailmittente=$_POST['emailmittente'];
    $testo=$_POST['testo'];
    //EMAIL MYSQL
    $indirizzo=$_POST['indirizzo'];
    $indirizzo_canc=$_POST['indirizzo_canc'];
    //Pulsanti
    $inserisci=$_POST['inserisci'];
    $cancella=$_POST['cancella'];
    //Codice random per email
    $primo rand(97122);
    $secondo rand(97122);
    $terzo rand(97122);
    $quarto rand(19);
    $quinto rand(19);
    $sesto rand(19);
    $random_code chr($primo).chr($secondo).chr($terzo).$quarto.$quinto.$sesto;
    //Inserimento manuale email da Form

    if(isset($inserisci) and ($indirizzo !=''))

    $query_insert mysql_query("INSERT INTO users(email,code) VALUES ('$indirizzo','$random_code')") or die(mysql_error());}


    //Cancella email dal DB


    if(isset($cancella) and ($indirizzo_canc !=''))
    {
    $query_cancellamysql_query("DELETE FROM users WHERE email = '$indirizzo_canc'") or die(mysql_error());}

    //Reindirizzamento pagina"insert_delete.php"
    header('location:index.php');exit;
    ?>
    a questo punto ho un $random_code dedicato per ogni singola email, il problema è che comunque non so come collegare l'azione dei pulsanti che genero su ogni email al proprio codice ,per poterli cancellare(presto cambierò i form in immaggini come hai detto tu)


    tu mi parlavi di passare i dati in get ma io sto usando post su tutte le pagine,saresti cosi gentile da illuminarmi ancora??

    il problema rimane sempre nella query di $erase_button della pagina view_mail.php

  4. #4
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    facciamola più semplice ,ho creato una sola pagina che inserisce e dovrebbe eliminare le email dal db

    ho provato cosi ma non mi funziona:

    Codice PHP:

    <form method="post" action="<?php $_SERVER['PHP_SELF'];?>" >
    <input type="text" name="indirizzo">
    <input type ="submit" name="inserisci">
    </form>

    <?php
    //inserimento email nel DB
    include("db_connect.php");
    $indirizzo$_POST['indirizzo'];
    $inserisci$_POST['inserisci'];

    if (isset(
    $inserisci) and ($indirizzo!=''))

    $query_insert mysql_query("INSERT INTO users(email) VALUES ('$indirizzo')") or die(mysql_error());}

    ?>
    <div >
    <?php
    //visualizzazione email + pulsanti $erase_button
    $indice=1;

    $query_select mysql_query("SELECT email FROM users  ");

    while(
    $mailmysql_fetch_array($query_select))
    {
    extract($mail);
     echo  
    "<tr><td>".$indice++."</td><td>Email</td><td><h3>$email</td><td><input type=submit name=erase_button value=cancella></td></tr> 
    "
    ;}

    ?>
    <?php
    // query cancellazione dati da $erase_button
    $erase_button$_POST['erase_button'];

    if (isset(
    $erase_button))
    {
    $query_erasemysql_query("DELETE email  FROM users WHERE email='$email' ");}
    ?>

    </div>

  5. #5
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    accetto consaigli da chiunque

  6. #6
    ...

    $primo = rand(97, 122);
    $secondo = rand(97, 122);
    $terzo = rand(97, 122);
    $quarto = rand(1, 9);
    $quinto = rand(1, 9);
    $sesto = rand(1, 9);

    ???????????

    a che serve ? fai 1 inserimento perchè devi randomizzare così tante variabili???

    $codice = rand(100000, 999999);
    credo che sia sufficente questo come codice random.....
    ...

    fai 1 pagina per l'inserimento e 1 per il delete ...inizialmente ti rende più semplice il capire la logica...se proprio vuoi fare la stessa pagina di azione ...insert e delete... applica alla query get o post una variabile in + tipo
    ACT = MOD
    oppure
    ACT = INS
    da questa variabile stabilisci poi se fare una insert o un delete da ID+CODICE RANDOM...
    ma non fare la pagina che contiene il form come pagina di insert o delete....
    la pagina di azione è "a parte" avendo il redirect php opportuno alla pagina che mostra l'elenco etc...


    spero di essermi spiegato..

  7. #7
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    l'idea dell'id mi sembra buona ma non riesco a settare un id ,mi fai un esempio se puoi?

    per quanto riguarda il codice random, a che mi serve se comunque ogni email che inserisco è differente dalle altre?

    scusa ma non riesco a trovare la logica di ciò che devo fare

  8. #8
    l'id non dovresti settarlo....è una chiave che viene automaticamente aggiunta ad ogni record inserito sul DB è una chiave univoca....

    il fatto che tu non riesca a "settare" l'id mi fa pensare che la tabella da te fatta è totalmente sprovvista di tale campo... e sta cosa non è bella...

    Per quanto riguarda il codice ... serve ad evitare che "qualcuno" ...una volta individuata la pagina di delete possa digitare a manina l'url e iniziare a cancellarti le email semplicemente digitando degli ID a caso....è UNA QUESTIONE di sicurezza sul processo di delete....

    Io ste "sicurezze" anche se in una amministrazione protetta da psw etc ... le metto sempre

  9. #9
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ok ,quindi creo un AUTO_id,ma lo devo poi richiamare nella visualizzazione su tabella?

    ma ce la fai a farmi un esempio scritto da te dal mio codice?

    grazie della pazienza davvero!

  10. #10
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    sto quasi per rinunciarci,non riesco a cancellare le email,ho settato anche un AUTO_ID auto increment nella tabella

    il codice della view_email adesso è:
    Codice PHP:
        <?php
      
    //Estrazione email da MYSQL,per refresh immediato,in TABELLA
    $query_select mysql_query("SELECT  email,id FROM users ");
    while(
    $mailmysql_fetch_array($query_select))
    {echo  
    "<tr><td>".$mail['id']."</td><td>Email</td><td><h3>".$mail['email']."</td><td>[url="erase_email.php><img"][/url]

    </td></tr>
    "
    ;}

    ?>
    poi ho spostato l'azione di cancellazione email tramite submit(che ho prontamente sostituito con una immagine con link,come mi hai detto tu ) su una pagina chiamata erase_email.php,cosi fatta
    Codice PHP:
    <?php
    include("db_connect.php");


    {
    $erase_query=mysql_query("DELETE  email FROM users WHERE id='$id' ") or die(mysql_error());}
    //reindirizzamento index.php
    header('location:index.php');exit;

    ?>
    ho questo errore : Unknown table 'email' in MULTI DELETE

    il campo id l'ho chiamato id nella tabella e ha come opzione AUTO_INCREMENT e in effetti quando inserisco lui mi elenca in ordine da 1 a ++ le email


    mah,non riesco a venirne a capo

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.