non inserisce i dati nel db

Ho corretto in questo modo
PHP:
<TABLE>
		<TR>
			<TD>
				<div id="menu">
					<ul>
						<?php 
						if (!isset($_POST['invia'])) {
						echo"<li><p>Ciao visitatore!</p>	</li>";	
					echo"<li><p><a href='nuova.php?azione=login'>login</a></p></li>";
				echo"<li><p><a href='registrati.php'>registrati</a></p></li>";
					
					
					}else{ 
					echo"<li>ciao ".isset($_SESSION['utente'])."</li>";	
					
					echo"<li><a href='nuova.php?azione=logout'>esci</a></li>";
					}
					
					?>						
				
					</ul>
				</div>
            </TD>		 
		</TR>
	</TABLE>

Ma vedo solo ciao e non il nome dell'utente con il login..come fare?
 
ho dovuto sconvolgere un po il tuo codice
prova cosi
PHP:
<?php
session_start();
include("varDB.inc");
$conn = mysql_connect("localhost", "root", "") or die;
mysql_select_db("sito") or die;
// inizializzo un messaggio vuoto
$messaggio = "";
// se è stato premuto il pulsante invia
if (isset($_POST['invia'])) {
    // minimo di controllo sulle stringhe
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    // se i campi non sono vuoti
    if (!empty($username) && !empty($password)) {
        //preparo la query
        $query = "SELECT * FROM utenti WHERE username='$username' AND password='$password' ";
        // la eseguo
        $controllodati = mysql_query($query);
        // se trovo un risultato
        if (mysql_num_rows($controllodati) == 1) {
            // recupero i dati del record
            $sessione = mysql_fetch_array($controllodati);
            // metto in sessione la username
            $_SESSION['utente'] = $sessione['username'];
        } else {
            // utente non trovato
            $messaggio = "User o password non validi";
        }
    } else {
        // campi vuoti
        $messaggio = "Non hai inserito le credenziali";
    }
}
?> 
<html>
    <head> 
        <title>Login</title>
        <link rel="stylesheet" type="text/css" href="stile.css">
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <div id="menu">
                        <ul>
                            <?php
                            if (!isset($_SESSION['utente'])) {
                                echo"<li><p>Ciao visitatore!</p>    </li>";
                                echo"<li><p><a href='nuova.php?azione=login'>login</a></p></li>";
                                echo"<li><p><a href='registrati.php'>registrati</a></p></li>";
                            } else {
                                echo"<li>ciao " . $_SESSION['utente'] . "</li>";
                                echo"<li><a href='nuova.php?azione=logout'>esci</a></li>";
                            }
                            ?>   
                        </ul>
                    </div>
                </td>         
            </tr>
        </table>
        <?php
        echo "<p>" . $messaggio . "</p>";
        $p = isset($_GET['azione']) ? $_GET['azione'] : "";
        if ($p == "login") {
            ?>
        <!-- attenzione alla action devi mettere il nome della pagina per annullare le variabili in GET-->
            <form method="POST" action="nuova.php">
                <label for="username">Username</label>
                <input type="text"name="username" id="username"/><br>
                <label for="password"> Password</label>
                <input type="password" name="password" id="password"/><br>
                <input type="submit" name="invia" value="entra"/><br>
            </form>       
            <?php
        } else if ($p == "logout") {

            session_destroy();
            echo"Logout effettuato";
            echo"<br>";
            Echo"Arrivederci, " . $_SESSION['utente'] . "";

            header("refresh: 2; URL=home.php");
        }
        ?>    
    </body>
</html>
 
echo "<p>" . $messaggio . "</p>";
$p = isset($_GET['azione']) ? $_GET['azione'] : "";

Di preciso chiedo se la variabile GET è inizializzata e a che azione si riferisce?

<!-- attenzione alla action devi mettere il nome della pagina per annullare le variabili in GET-->
<form method="POST" action="nuova.php">


Io nome della pagina è provvisoriamente nuova..

Comunqe funziona!!Ma posso sapere come mai non andava bene come prima?


Grazie dell'aiuto!!!!chiedo perchè non ci capisco molto..
 
Le modifiche precedenti erano ottime, e vi ringrazio tutti, anzi mi scuso per stare sempre qui a elemosinare il vostro aiuto...ma devo farlo per un'esame e non è decisamente il mio campo...

Adesso ho cercato di fare la pagina di cancellazione dati, ma inutile non va...vedo solo la barra del titolo e nient'altro...suggerimenti??


PHP:
<?php

session_start();
include("varDB.inc");

$conn=mysql_connect("localhost","root","");
mysql_select_db("sito");
$messaggio="";



?>


<html>
            <head> 
					<!-- striscia in alto -->
                <title>Cancella</title>
                <link rel="stylesheet" type="text/css" href="stile.css">
            </head>
            <body>
                <table>
                    <tr>
                        <td>
							<p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>	
                            
                        </td>         
                    </tr>
                </table>
				
				
</html>				


<?php
if(isset($_SESSION['utente'])){
	$query="SELECT * FROM utenti WHERE username='$username' AND password='$password'";
	$controllodati = mysql_query($query);
                // se trovo un risultato
                if (mysql_num_rows($controllodati) == 1) {
                    // recupero i dati del record
                    $sessione = mysql_fetch_array($controllodati);
					}else{
					 $messaggio="<font color='black' face='times new roman' size='4px'>User o password non validi";
 
if ($_POST["canc"] == "si") {
	
		

			$query = "DELETE FROM utenti WHERE username='$username' AND password='$password'";
             $res = mysql_query($query) or die ("Query fallita!"); 
			 
                    
                   				
					echo"i dati sono cancellati";
                    
                } elseif($_POST["canc"] == "no") {
                    // utente non trovato
					
				   echo"torna alla home";
				   
                }
            
}

}


?>

Non capisco perchè non riesco a vedere almeno i messaggi che ho scritto, visto che ho iniziato la sessione utente, scritto la scelta (si/no)...:incazz::incazz::incazz:


A questa pagina si accede dopo aver cliccato su questa pagina

PHP:
<?php

session_start();

include("varDB.inc");

$conn=mysql_connect("localhost","root","") or die;
mysql_select_db ("sito") or die;

$messaggio="";

?>



<html>
	<head>
			<link rel="stylesheet" type="text/css" href="stile.css">
		
		<title>Cancellazione dati</title>
	
	
	</head>
			<body>
			
					<!-- Striscia in alto -->
	<table>
		<tr>
			<TD>
			<p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>	
				
            </td>		 
		</tr>
	</table>
			
			
			</body>

		<form method="post" action="cancella.php">	
			
			<?php 
				if(isset($_SESSION['utente'])){
				
				
				}
				?>
				
				<p><font face="Times new romna" color="black" size="4px">Vuoi cancellare i tuoi dati?</p>
				Si<input type="radio" name="canc" value="si"/>
				No<input type="radio" name="canc" value="no"/>
				<br>
				<br>
				<input type="submit" name="invia" value="cancella"/>
		</form>
		
</html>
Che funziona bene credo, la vedo senza problemi...
 
ho modificato in questo modo e vedo qualcosa, ma sono errori di notice...cosa faccio per correggerli???

Notice: Undefined variable: username in C:\xampp\htdocs\prova\cancella.php on line 41

Notice: Undefined variable: p in C:\xampp\htdocs\prova\cancella.php on line 52

Notice: Undefined variable: username in C:\xampp\htdocs\prova\cancella.php on line 56
i dati sono cancellati

Ma non cancella veramente i dati!!!!!!:incazz2:

Ecco il codice modificato...aiutatemi. :crying::crying:

PHP:
<?php

session_start();

include("varDB.inc");

$conn=mysql_connect("localhost","root","") or die;
mysql_select_db ("sito") or die;

$messaggio="";

?>



<html>
	<head>
			<link rel="stylesheet" type="text/css" href="stile.css">
		
		<title>Cancellazione dati</title>
	
	
	</head>
			<body>
			
					<!-- Striscia in alto -->
	<table>
		<tr>
			<TD>
			<p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>	
				
            </td>		 
		</tr>
	</table>
			
			
			</body>

		<form method="post" action="cancella.php">	
			
			<?php 
				if(isset($_SESSION['utente'])){
				
				
				}
				?>
				
				<p><font face="Times new roman" color="black" size="4px">Vuoi cancellare i tuoi dati?</p>
				Si<input type="radio" name="canc" value="si"/>
				No<input type="radio" name="canc" value="no"/>
				<br>
				<br>
				<input type="submit" name="invia" value="cancella"/>
		</form>
		
</html>


<?php
$p = isset($_GET['azione']) ? $_GET['azione'] : "";
                if ($p == "si") {
	
	
		$query="DELETE FROM utenti WHERE username='$username' AND password='$password'";
		$res=mysql_query($query) or die("fallita");
		
		
		echo"dati cancellati";

}else{

	


}		



?>




PHP:
<?php

session_start();
include("varDB.inc");

$conn=mysql_connect("localhost","root","");
mysql_select_db("sito");
$messaggio="";



?>


<html>
            <head> 
					<!-- striscia in alto -->
                <title>Cancella</title>
                <link rel="stylesheet" type="text/css" href="stile.css">
            </head>
            <body>
                <table>
                    <tr>
                        <td>
							<p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>	
                            
                        </td>         
                    </tr>
                </table>
				
				
</html>				


<?php


if(isset($_SESSION['utente'])){


$query="SELECT * FROM utenti WHERE username='$username' AND password='$password'";
	$controllodati = mysql_query($query);
                // se trovo un risultato
                if (mysql_num_rows($controllodati) == 1) {
                    // recupero i dati del record
                    $sessione = mysql_fetch_array($controllodati);
					}else{
					 $messaggio="<font color='black' face='times new roman' size='4px'>User o password non validi";
 
if (isset ($_POST['invia'])){ 
	
		$p=="si";

  
  
			$query = "DELETE FROM utenti WHERE username='$username' AND password='$password'";
			
			 
                    
                   				
					echo"i dati sono cancellati";
                    
                } elseif($_POST["invia"]) {
				$p=="no";
                    // utente non trovato
					
				   echo"torna alla home";
				   
                }
            
}

}


?>


Avrò sicuramente pasticciato un po in tutte e due le pagine...
 
ciao
vedo che metti
$query="DELETE FROM utenti WHERE username='$username' AND password='$password'";
(analogo discorso per la SELECT)
quello che non capisco guardando lo script da dove saltano fuori le due variabili $username e $password

poi se esiste la sessione $_SESSION['utente'] vuol dire (mi sembra) che l'utente sia loggato, quindi cosa verifichi che i suoi dati siano giusti?
se non erano giusti in partenza non poteva loggarsi quindi la sessione non deve (dovrebbe) esistere quindi a che ti serve fare la SELECT ?
 
Allora, SELECT lo uso per verificare che eista un utente con quell'username e password...

$username e $password sarebbero i valori con cui l'utente si è registrato, però avendo l'errore di notice non le riprende dalla pagina di login...

Non dovrei mettere la sessione utente?
 
Ho corretto in questo modo, gli errori di notice sono corretti, credo perchè ho inizializzato la variabile username e password, ma non cancella lo stesso i dati dal db!!!!


Come fare???????????????


PHP:
<?php

session_start();

include("varDB.inc");

$conn=mysql_connect("localhost","root","") or die;
mysql_select_db ("sito") or die;

$messaggio="";

?>



<html>
	<head>
			<link rel="stylesheet" type="text/css" href="stile.css">
		
		<title>Cancellazione dati</title>
	
	
	</head>
			<body>
			
					<!-- Striscia in alto -->
	<table>
		<tr>
			<TD>
			<p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>	
				
            </td>		 
		</tr>
	</table>
			
			
			</body>

		<form method="post" action="cancella.php">	
			
			<?php 
				
				if(isset($_SESSION['utente'])){
				
				
				}
				?>
				
				<p><font face="Times new roman" color="black" size="4px">Vuoi cancellare i tuoi dati?</p>
				Si<input type="radio" name="canc" value="si"/>
				No<input type="radio" name="canc" value="no"/>
				<br>
				<br>
				<input type="submit" name="invia" value="cancella"/>
		</form>
		
</html>


<?php
$username=("username");
$password=("password");
$p="azione";
$p = isset($_GET['azione']) ? $_GET['azione'] : "";
                if ($p == "si") {
	
	
		$query="DELETE FROM utenti WHERE username='$username' AND password='$password'";
		$res=mysql_query($query) or die("fallita");
		
		
		$messaggio="dati cancellati";

}else{
if($p=="no"){
	
$messaggio="i dati non sono stati cancellati";}

}		
mysql_close();


?>



PHP:
<?php

session_start();
include("varDB.inc");

$conn=mysql_connect("localhost","root","");
mysql_select_db("sito");
$messaggio="";



?>


<html>
            <head> 
					<!-- striscia in alto -->
                <title>Cancella</title>
                <link rel="stylesheet" type="text/css" href="stile.css">
            </head>
            <body>
                <table>
                    <tr>
                        <td>
							<p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>	
                            
                        </td>         
                    </tr>
                </table>
				
				
</html>				


<?php



if(isset($_SESSION['utente'])){

$username=("username");
$password=("password");
$p="azione";


if  ($_POST["canc"]=="si"){ 
	
		
  
  
			$query = "DELETE FROM utenti WHERE username='$username' AND password='$password'";
			
			 
                    
                   				
					echo"i dati sono cancellati";
                    
                } elseif($_POST["canc"]=="no") {
				//$p=="no";
                    // utente non trovato
					
				   echo"torna alla home";
				   
                }
            
}


mysql_close();

?>
 
:crying::crying:

ho corretto in questo modo, ma nulla...non mi cancella nulla...
PHP:
<?php

session_start();
include("varDB.inc");
$conn=mysql_connect("localhost","root","") or die;
mysql_select_db("sito") or die;
$messaggio="";
 
				
				
				
?>



<html>
	<head>
			<link rel="stylesheet" type="text/css" href="stile.css">
		
		<title>Cancellazione dati</title>
	
	
	</head>
			<body>
			
					<!-- Striscia in alto -->
	<table>
		<tr>
			<TD>
			<p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>	
				
            </td>		 
		</tr>
	</table>
			
			
			</body>

		<form method="post" action="cancella.php">	
			<?php
			if(isset($_SESSION['utente'])){
				
				
				}
				?>
				
				<p><font face="Times new roman" color="black" size="4px">Vuoi cancellare i tuoi dati?</p>
				Si<input type="radio" name="canc" value="si"/>
				No<input type="radio" name="canc" value="no"/>
				<br>
				<br>
				<input type="submit" name="invia" value="cancella"/>
		</form>
		
</html>

contenente la query...

PHP:
<?php

session_start();
include("varDB.inc");

$conn=mysql_connect("localhost","root","") or die;
mysql_select_db("sito") or die;
$messaggio="";



?>


<html>
            <head> 
					<!-- striscia in alto -->
                <title>Cancella</title>
                <link rel="stylesheet" type="text/css" href="stile.css">
            </head>
            <body>
                <table>
                    <tr>
                        <td>
							<p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>	
                            
                        </td>         
                    </tr>
                </table>
				
				
</html>				
<?php

$c="cancella";
$c = isset($_GET['cancella']) ? $_GET['cancella'] : "";
                if ($_POST["canc"]=="si") {
    
    
        $query="DELETE FROM utenti WHERE username='$username' AND password='$password'";
        $res=mysql_query($query) or die("fallita");
        
        
        $messaggio="dati cancellati";

}else{
if($_POST["canc"]=="no")
    
$messaggio="i dati non sono stati cancellati";

   }    
mysql_close();

 
?>

Help!!
 

Discussioni simili