- Home
- Categorie
- Coding e Sistemistica
- Coding
- unire due file
-
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 tutticancella.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>"; ?>
-
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 INIZIALECon lo stesso metodo puoi far fare allo stesso file PHP operazioni diverse!
-
ciao e grazie per avermi risposto.
però essendo poco pratico php non ho capito bene come fare.
potresti spiegarmelo meglio
ciao e grazie
-
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"; ?>
-
ciao, ho provato ma mi sta dando degli errori sul ciclo while su dove chiudere o aprire le { o il tag php.
-
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>';
}
-
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...
-
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
-
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>";?>