• Bannato User Attivo

    unire due file

    ciao ragazzi sono nuovo del formu e di php e ho questo piccolo problema:
    ho fatto due semplici file,uno di nome cancella in cui vi è un form e l'altro che esegue la cancellazione degli utenti dal database.
    vorrei sapere come posso unrli in un unico file senza avere due file separati.
    ciao e grazie a tutti

    cancella.php

     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>LOGIN </title>
    </head>
    
    <body>
    
    <h1>CANCELLA UTENTE</h1>
    [<?php
    //Connessione al database
    mysql_connect('localhost', 'root') or die('Non riesco a connettermi a MySQL');
    mysql_select_db('matematica') or die('Non riesco a connettermi al Database');
    
    //stampo tutti i dati della tabella
    
    $result = mysql_query ("SELECT * FROM utenti");
    
    while($query_data = mysql_fetch_row($result)) {
    echo $query_data[1]," - " ,$query_data[2],"<p>";
    }
    //Chiudo la connessione al db
    mysql_close();
    ?>
    
    <form method="post" action="eseguicancella.php">
    Nome utente: 
    <input type="text" name="txt_username">
    <p>
    <input type="submit" value="cancella">
    </form>
    
    </body>
    </html>
    

    eseguicancella.php

    <?php 
    //Connessione al database 
    mysql_connect('localhost', 'root') or die('Non riesco a connettermi a MySQL'); 
    mysql_select_db('matematica') or die('Non riesco a connettermi al Database'); 
    //Recupero i valori da una Form 
    $username = @$_POST['txt_username']; 
    
    $strSQL = "SELECT * FROM utenti WHERE user = '$username'"; 
    $result = mysql_query($strSQL); 
    
    //Controllo la presenza di utenti 
    if(mysql_num_rows($result)){ 
    $strSQL = "DELETE FROM utenti WHERE user = '$username'"; 
    mysql_query($strSQL);
    echo "Utente cancellato con successo!!"; 
    }
    
    else{ 
    echo "Utente non trovato !"; 
    } 
    
    //Libero la memoria 
    mysql_free_result($result);
    
    echo "<br><a href='index.html'>RICOMINCIA</a>";
    ?> 
    

  • User Attivo

    Per unire i due file dovresti innanzitutto mettere nel form un campo hidden del tipo:

    <input type="hidden" name="operazione" value="CANCELLA">

    Poi nel file php (che sarà unico) dove devi differenziare fai un test del tipo:

    if ($_POST['operazione'] == "CANCELLA")
    ; // ESEGUO LA PARTE RELATIVA ALLA CANCELLAZIONE
    else
    ; // ESEGUO LA PARTE INIZIALE

    Con lo stesso metodo puoi far fare allo stesso file PHP operazioni diverse!


  • Bannato User Attivo

    ciao e grazie per avermi risposto.
    però essendo poco pratico php non ho capito bene come fare.
    potresti spiegarmelo meglio
    ciao e grazie


  • User Attivo

    Molto all'incirica, pagina.php:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>LOGIN </title>
    </head>
    
    <body>
    
    <h1>CANCELLA UTENTE</h1>
    [<?php
    //Connessione al database
    mysql_connect('localhost', 'root') or die('Non riesco a connettermi a MySQL');
    mysql_select_db('matematica') or die('Non riesco a connettermi al Database');
    
    //stampo tutti i dati della tabella
    
    $opzione = $_POST['opzione'];
    
    if ($opzione == "CANCELLA")
      {
      //Recupero i valori da una Form 
      $username = @$_POST['txt_username']; 
    
      $strSQL = "SELECT * FROM utenti WHERE user = '$username'"; 
      $result = mysql_query($strSQL); 
    
      //Controllo la presenza di utenti 
      if(mysql_num_rows($result)){ 
      $strSQL = "DELETE FROM utenti WHERE user = '$username'"; 
      mysql_query($strSQL);
      echo "Utente cancellato con successo!!"; 
      }
      else{ 
      echo "Utente non trovato !"; 
      } 
    
      //Libero la memoria 
      mysql_free_result($result);
    
      echo "<br><a href='index.html'>RICOMINCIA</a>";
      }
    else
      {
      $result = mysql_query ("SELECT * FROM utenti");
    
      while($query_data = mysql_fetch_row($result)) {
      echo $query_data[1]," - " ,$query_data[2],"<p>";
    
      echo '
    <form method="post" action="pagina.php">
    Nome utente: 
    <input type="text" name="txt_username">
    <input type="hidden" name="opzione" value='CANCELLA'>
    <p>
    <input type="submit" value="cancella">
    </form>';
      }
    
    //Chiudo la connessione al db
    mysql_close();
    
    echo "</body>\n</html>\n";
    
    ?>
    

  • Bannato User Attivo

    ciao, ho provato ma mi sta dando degli errori sul ciclo while su dove chiudere o aprire le { o il tag php.


  • Bannato User Attivo

    mi da' problemi qui:

    while($query_data = mysql_fetch_row($result)) {
    echo $query_data[1]," - " ,$query_data[2],"<p>";

    echo '
    <form method="post" action="pagina.php">
    Nome utente:
    <input type="text" name="txt_username">
    <input type="hidden" name="opzione" value='CANCELLA'>
    <p>
    <input type="submit" value="cancella">
    </form>';
    }


  • User Attivo

    Che errori? A che riga?

    Questa riga:

    echo $query_data[1]," - " ,$query_data[2],"<p>";

    sarebbe meglio così:

    echo $query_data[1] . " - " . $query_data[2] . "<p>";

    Cmq si tratta solo di un esempio per farti capire...


  • Bannato User Attivo

    mi da questo errore

    Parse error: parse error, expecting ','' or ';'' in c:\programmi\easyphp1-8\www\esempio login tutto in uno 1modo ma non funziona\cancella.php on line 48


  • Bannato User Attivo

    ciao ho risolto il problema usando questo file.
    ciao e grazie.
    ma per impostare le variabili globali dove devo andare?

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>LOGIN </title>
    </head>
    <body>
    <h1>CANCELLA UTENTE</h1>

    <form $_POST['action']="<?php print $_SERVER["PHP_SELF"]; ?>" method="POST">
    Nome utente:
    <input type="text" name="txt_username">
    <p>
    <input type="submit" value="cancella">
    <input type="hidden" name="action" value="CANC">
    </form>
    </body>
    </html>
    <?php
    //Connessione al database
    mysql_connect('localhost', 'root') or die('Non riesco a connettermi a MySQL');
    mysql_select_db('matematica') or die('Non riesco a connettermi al Database');
    //Recupero i valori da una Form
    $username = @$_POST['txt_username'];
    $strSQL = "SELECT * FROM utenti WHERE user = '$username'";
    $result = mysql_query($strSQL);

    //Controllo la presenza di utenti
    if(mysql_num_rows($result)){
    $strSQL = "DELETE FROM utenti WHERE user = '$username'";
    mysql_query($strSQL);
    echo "Utente cancellato con successo!!";
    }
    else{
    echo "Utente non trovato !";
    }

    //Libero la memoria
    mysql_free_result($result);
    echo "<br><a href='index.html'>RICOMINCIA</a>";

    ?>