non inserisce i dati nel db

incrediblekris

Utente Attivo
11 Ott 2012
52
0
0
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?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
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>
 

incrediblekris

Utente Attivo
11 Ott 2012
52
0
0
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..
 

incrediblekris

Utente Attivo
11 Ott 2012
52
0
0
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...
 

incrediblekris

Utente Attivo
11 Ott 2012
52
0
0
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...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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 ?
 

incrediblekris

Utente Attivo
11 Ott 2012
52
0
0
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?
 

incrediblekris

Utente Attivo
11 Ott 2012
52
0
0
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();

?>
 

incrediblekris

Utente Attivo
11 Ott 2012
52
0
0
: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
Autore Titolo Forum Risposte Data
Monital [PHP] Insert into non inserisce tutti i dati PHP 1
M Menu a tendina che non inserisce dati nel db PHP 8
K Non inserisce dati nel db PHP 48
G form php connesso a database ma non inserisce dati PHP 5
DeAndreon Php non inserisce dati in db mysql PHP 37
MarcoGrazia [PDO] insert che non inserisce e non da errori PHP 1
Shyson Non inserisce datane Database PHP 1
Shyson Non inserisce nel db Database 1
felino Mac OS e Client Mail: Stato non in linea Mac e Software 1
I nome utente non esiste nel database PHP 1
M Drag and Drop non capisco le sequenze... Javascript 1
L Suggerimento Pagespeed per non vedenti HTML e CSS 0
F comando di inclusione file audio in I-Pad non funziona HTML e CSS 1
M Immagini non usate WordPress 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
G Numero zero null non deve visualizzare nulla PHP 0
F Paypal _xclick IPN non risponde PHP 1
R Variabile non risconosciuta dentro una funzione PHP 1
C ACCESS Aprire maschera se valore non presente in una combo MS Access 7
E Alert non viene mostrato PHP 1
felino Hardisk WD SATA 1TB 3.5" non si avvia! Hardware 4
K Scrip non funzionante Javascript 1
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
zorro CREATE TABLE non funziona PHP 6
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
Sevenjeak Php8 non carica estenzioni PHP 0
R query DELETE non cancella i record PHP 1
otto9due Input text: accetta solo numeri e non può essere vuoto. Javascript 9
G Non vedo frecce su forme Photoshop 2
G Il mio sito dopo aver abilitato l'ssl non visualizza le immagini con indirizzi senza ssl HTML e CSS 0
P jquery refresh div non funziona Javascript 0
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
S Certificato SSL non funzionante Domini 0
zorro modulo di registrazione: funziona ma non sempre PHP 2
D Form contatti non funzionante HTML e CSS 0
MarcoGrazia Trovare record nel database partendo da id non sequenziali PHP 6
M Non ho rinnovato il mio sito su Aruba... Domini 1
T IP INFO NON FUNZIONA PHP 0
Shyson Google search non trova il mio sito SEO e Posizionamento 1
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
P Data scraping in PHP non funziona PHP 4
otto9due $_FILE non passa i dati dal form PHP 1
keyascii Non è mai troppo tardi Presentati al Forum 0
N dati tabella non presi PHP 1
P Pagina modifica record che non funziona PHP 0
Shyson AUTO_INCREMENT non si aggiorna MySQL 2
Shyson Codice wp-login non funziona PHP 2
S WORDPRESS NON FA INSTALLARE PIU NULLA WordPress 9
Shyson Non mi fa accedere al sito WordPress 12
N Non Autorizzato. Dovresti rimuovere il parametro customize_messenger_channel per visualizzare l'anteprima in frontend. WordPress 1

Discussioni simili