Eliminare dato da un database tramite bottone?

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Salve a tutti,
ho scritto in php una pagina che permette di eliminare un post da una bacheca tramite il bottone 'elimina', ma tutto ciò non viene eseguito. Il sumbit avviene e anche la query viene elaborata, ma non viene eseguita sul database, nel senso che non si elimina nulla. Mi potreste aiutare a capire dove sbaglio per favore?
Ecco il codice php:
PHP:
<?php   
session_start();   
include('connessione.php');   
if($_SESSION['utente'] == ""){   
echo("Non sei autorizzato ad entrare!");   
exit();   
}   
?>   
<html xmlns="http://www.w3.org/1999/xhtml">   
<head>   
<style type="text/css">   
p.bacheca {color:grey; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:3%; margin-top:3%; margin-left:3%}   
label.messaggio{color:black; font-size:110%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:3%; margin-top:3%; margin-left:3%}   
label.barradistanziatrice {color:grey; font-size:110%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:3%; margin-top:3%; margin-left:4%}   
div.postbacheca {border-bottom:1px solid grey; margin-left:2%; margin-right:2%} 
</style>   
<title>Visualizzazione bacheca</title>   
</head>   
<body>   
<?php   
$ora_attuale = time();   
$query = "SELECT * FROM bacheca WHERE Nome='".$_SESSION['utente']."'";   
$result = mysql_query($query) or die(mysql_error());   
while($riga = mysql_fetch_array($result)){   
$mss = stripslashes($riga['Messaggio']);   
$ora = date("d/n/Y g:i:s A", $riga['Data']);   
print "<div class='postbacheca'><p class='bacheca'>$ora <label class='barradistanziatrice'> |</label> <label class='messaggio'> $mss </label>";    

if(!isset($_POST['elimina'])){ ?>  
               
  <form method="post" action="#" id="eliminapost" style="alignment-adjust:central">   
<input type="submit" name="elimina" id="elimina" value="elimina" style="width:7%; height:6%; color:black; background-color:white; border:1px solid black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%" />  
  </form>           
<?php    } else {   
                        // Invia dati alla tb bacheca 
                        $query="DELETE FROM bacheca WHERE Nome='".$_SESSION['utente']."' AND Data='".$ora."'";    
$inviautente=mysql_query($query) or die(mysql_error());   
header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}#");   
}  
   
print "</p></div>";   
}   
mysql_close($db);   
?>   
</body>   
</html>
Grazie a tutti in anticipo per il vostro aiuto.:D
Saluti,
hackersatifal.
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per prima cosa verifica come viene la query

PHP:
//......
// Invia dati alla tb bacheca 
$query="DELETE FROM bacheca WHERE Nome='".$_SESSION['utente']."' AND Data='".$ora."'"; 
var_dump($query); //cosa restituisce?
//.....

edit

ho notato una cosa.
qui fai
$ora = date("d/n/Y g:i:s A", $riga['Data']);
da cui arguisco che in tabella il campo Data è un timestamp.
da cui risulta che $ora è espresso in formato umano d/n/y ecc...
ora nella query ti fai il confronto
....AND Data='".$ora."'";
ma, se non ho arguito male, stai confrontando una data "umana" con un timestamp quindi la qery non troverà mai il record da eliminare
 
Ultima modifica:

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ciao
per prima cosa verifica come viene la query

PHP:
//......
// Invia dati alla tb bacheca 
$query="DELETE FROM bacheca WHERE Nome='".$_SESSION['utente']."' AND Data='".$ora."'"; 
var_dump($query); //cosa restituisce?
//.....

edit

ho notato una cosa.
qui fai
$ora = date("d/n/Y g:i:s A", $riga['Data']);
da cui arguisco che in tabella il campo Data è un timestamp.
da cui risulta che $ora è espresso in formato umano d/n/y ecc...
ora nella query ti fai il confronto
....AND Data='".$ora."'";
ma, se non ho arguito male, stai confrontando una data "umana" con un timestamp quindi la qery non troverà mai il record da eliminare

Facendo il var_dump mi dà questi risultati diversi in base al post:
PHP:
string(76) "DELETE FROM bacheca WHERE Nome='(il nome utente senza parentesi)' AND Data='07/8/2012 1:00:10 PM'"
, ma non mi esegue la query.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ma come è il valore de campo Data? se è (ma non l'hai detto) in timestamp il suo valore è del tipo 123456789321 e quindi NON saràmai uguale a 07/8/2012 1:00:10 PM
guarda per fare una verifica, ma sono quasi sicuro che ti dia resuoce metti

PHP:
//......
$result = mysql_query($query) or die(mysql_error()); 
var_dump($result);  
while($riga = mysql_fetch_array($result)){   
//.....
se, come credo, ti da resuoce e non bool(false) vuol dire che la query viene eseguita, ma non come vuoi tu.
ricordati il principio basilare della programmazione "uno script non fa quello che vorresti che facesse, ma quello che gli dici di fare"
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ciao
ma come è il valore de campo Data? se è (ma non l'hai detto) in timestamp il suo valore è del tipo 123456789321 e quindi NON saràmai uguale a 07/8/2012 1:00:10 PM
guarda per fare una verifica, ma sono quasi sicuro che ti dia resuoce metti

PHP:
//......
$result = mysql_query($query) or die(mysql_error()); 
var_dump($result);  
while($riga = mysql_fetch_array($result)){   
//.....
se, come credo, ti da resuoce e non bool(false) vuol dire che la query viene eseguita, ma non come vuoi tu.
ricordati il principio basilare della programmazione "uno script non fa quello che vorresti che facesse, ma quello che gli dici di fare"

L'ora è un int(30). Di preciso in quale parte del codice devo inserirlo?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
sto riguardando quello che hai scritto, ma mi stanno venendo notevoli dubbi, non vorrei dire una pu.....ta, ma secondo me se la query funzia al primo submit ti cancella tutti i post dell'utente.
do un occhio meglio e ti so dire
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ciao
sto riguardando quello che hai scritto, ma mi stanno venendo notevoli dubbi, non vorrei dire una pu.....ta, ma secondo me se la query funzia al primo submit ti cancella tutti i post dell'utente.
do un occhio meglio e ti so dire

Allora hai controllato il codice e, se lo hai fatto, mi aiuteresti a modificarlo in maniera corretta???
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
un po' aggiustato e buttato giu di corsa, provalo e se non funzia dimmi che errori ti da

PHP:
<?php   
session_start();   
if(!isset($_SESSION['utente'])){//immagino che venga da un log, quindi se il log non è giusto la sessione non deve esistere  
	header("location: pagina_che_vuoi.php"); 
	exit();   
}   
?>  
<!-- tralascio l'html --> 
<?php   
//io metteri qui i dati di connessione, ma con il require_once "connessione.php";
require_once "connessione.php";
if(!isset($_POST['elimina'])){
	$ora_attuale = time();//a che ti serve?
	$query = "SELECT * FROM bacheca WHERE Nome='".$_SESSION['utente']."'";   
	$result = mysql_query($query) or die(mysql_error());   
	while($riga = mysql_fetch_array($result)){   
		$mss = stripslashes($riga['Messaggio']);   
		$ora = date("d/n/Y g:i:s A", $riga['Data']);
		$ora_ts=$riga['Data'];//è questo che devi dare al where della query
		print "<div class='postbacheca'><p class='bacheca'>$ora <label class='barradistanziatrice'> |</label> <label class='messaggio'> $mss </label>";    
?>  
<form method="post" action="#" id="eliminapost" style="alignment-adjust:central">   
<input type="submit" name="elimina" id="elimina" value="<?php echo $ora_ts;?>" style="width:7%; height:6%; color:black; background-color:white; border:1px solid black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%" />  
</form>           
<?php
		print "</p></div>"; 
	}
} else {   
	// Invia dati alla tb bacheca 
	$query="DELETE FROM bacheca WHERE Nome='".$_SESSION['utente']."' AND Data='".$_POST['elimina']."'";    
	$inviautente=mysql_query($query) or die(mysql_error());   
	header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}");   
}
//mysql_close($db);//non serve ci pensa automaticamente php 
?>
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ciao
un po' aggiustato e buttato giu di corsa, provalo e se non funzia dimmi che errori ti da

PHP:
<?php   
session_start();   
if(!isset($_SESSION['utente'])){//immagino che venga da un log, quindi se il log non è giusto la sessione non deve esistere  
	header("location: pagina_che_vuoi.php"); 
	exit();   
}   
?>  
<!-- tralascio l'html --> 
<?php   
//io metteri qui i dati di connessione, ma con il require_once "connessione.php";
require_once "connessione.php";
if(!isset($_POST['elimina'])){
	$ora_attuale = time();//a che ti serve?
	$query = "SELECT * FROM bacheca WHERE Nome='".$_SESSION['utente']."'";   
	$result = mysql_query($query) or die(mysql_error());   
	while($riga = mysql_fetch_array($result)){   
		$mss = stripslashes($riga['Messaggio']);   
		$ora = date("d/n/Y g:i:s A", $riga['Data']);
		$ora_ts=$riga['Data'];//è questo che devi dare al where della query
		print "<div class='postbacheca'><p class='bacheca'>$ora <label class='barradistanziatrice'> |</label> <label class='messaggio'> $mss </label>";    
?>  
<form method="post" action="#" id="eliminapost" style="alignment-adjust:central">   
<input type="submit" name="elimina" id="elimina" value="<?php echo $ora_ts;?>" style="width:7%; height:6%; color:black; background-color:white; border:1px solid black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%" />  
</form>           
<?php
		print "</p></div>"; 
	}
} else {   
	// Invia dati alla tb bacheca 
	$query="DELETE FROM bacheca WHERE Nome='".$_SESSION['utente']."' AND Data='".$_POST['elimina']."'";    
	$inviautente=mysql_query($query) or die(mysql_error());   
	header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}");   
}
//mysql_close($db);//non serve ci pensa automaticamente php 
?>

Ti ringrazio con tutto il cuore per l'aiuto che mi hai dato.
Saluti,
hackersatifal.:D
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Ti ringrazio con tutto il cuore per l'aiuto che mi hai dato.
Saluti,
hackersatifal.:D
Posso chiederti un'altra cosa?
Praticamente tramite un form di ricerca si esegue una ricerca degli utenti all'interno del database e poi si visualizza la sua pagina di profilo. Ho un problema: non si specifica l'utente da visualizzare, quindi non si vede la sua pagina di profilo che contiene degli iframe con le informazioni, la sua bacheca, foto ecc.
Potresti controllare questi codici e vedere dove sbaglio, se lo farai te ne sarà grato per tutta la vita.

Pagina result_search2.php:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
p.saluto{margin-top:10%; margin-left:25%; color:white; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:200%; font-weight:bold}
a.chatcomune {text-decoration:none; margin-left:30%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:150%; color:white}
div.sidebar1 {float: left; width:25%; height:100%; background-color:#0165B6; border:1px solid #48aed1; margin-top:-50%; margin-left:3%}
div.sidebar2 {width:71%; height:100%; background-color:#0165B6; border:1px solid #48aed1; margin-top:1%; margin-left:29%}
p.username {text-decoration:none; color:white; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:5%; margin-top:5%}
p.noresult {color:white; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:5%; margin-top:5%}
p.bacheca {color:black; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:5%; margin-top:5%}
::-webkit-input-placeholder {font-size:90%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif}
img {max-width:52%;max-height:52%; margin-top:-21%; border: 1px solid black; padding: 2%; background-color:white}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>KnowEveryone</title>
</head>
<body style="background-color:#036">
<div id="barra" style="height: 8%; position: fixed; top: 0px; bottom: 0; left: 0; width: 100%; background-color: #006699; border-bottom: 1px solid #133783; position:fixed !important">
<p style="margin-top:1%; margin-bottom:1%; margin-left:1%; color:#FFF; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:150%; font-weight:bold; text-align:left">KnowEveryone <a href="profile2.php" style="text-decoration:underline; color:white"><?php session_start(); print "({$_SESSION['utente']})";?></a><a href="login2.php?azione=logout" style="text-decoration:none; color:#FFF; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:100%; font-weight:bold; margin-right:1%; margin-left:2%"> Esci</a></p>
</div>
<?php
include 'header.php'; 
session_start();
error_reporting(E_ALL);
$username = (!empty($_GET['id'])) ? $_GET['id'] : 'Niente';
print "<p class='saluto'>$username</p>";
?>
<div class="sidebar2">
<iframe name="visualizza" width="100%" height="80%" frameborder="1" src="bacheca_visualizza2.php?id=$username" style="background-color:white; border:1px solid white" scrolling="yes"></iframe>
</div>
<div class="sidebar1">
<center>
<?php
error_reporting(E_ALL);
$dati = mysql_query("SELECT foto FROM utenti WHERE username='$username'");
$risultato= mysql_fetch_array($dati);
echo '<img src="'.$risultato['foto'].'">';
?>
<iframe name="visualizza" width="65%" height="20%" frameborder="1" src="infopersonali2.php?id='$username'" style="margin-top:10%; background-color:white; border:1px solid black"></iframe>
<p style="margin-top:5%"><a href="modifica_dati2.php" style="text-decoration:none; color:white; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif">[modifica dati]</a></p>
<iframe name="visualizza" width="65%" max-height="25%" frameborder="1" src="statoprofilo2.php?id=$username" style="background-color:white; border:1px solid black"></iframe>
</div>
<center><p style="font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:150%; color:white">KnowEveryone: una produzione di Giuseppe Ferrara</p></center>
</body> 
</html>

bacheca_visualizza2.php:

PHP:
<?php
session_start();
include('connessione.php');
if($_SESSION['utente'] == ""){
echo("Non sei autorizzato ad entrare!");
exit();
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
p.bacheca {color:grey; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:3%; margin-top:3%; margin-left:3%}
label.messaggio{color:black; font-size:110%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:3%; margin-top:3%; margin-left:3%}
label.barradistanziatrice {color:grey; font-size:110%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:3%; margin-top:3%; margin-left:4%}
</style>
<title>Visualizzazione bacheca</title>
</head>
<body>
<?php
$username = (!empty($_GET['id'])) ? $_GET['id'] : 'Niente';
$ora_attuale = time();
$query = "SELECT * FROM bacheca WHERE Nome='$username'";
$result = mysql_query($query) or die(mysql_error());
while($riga = mysql_fetch_array($result)){
$mss = stripslashes($riga['Messaggio']);
$ora = date("d/n/Y g:i.s A", $riga['Data']);
print "<p class='bacheca'>$ora <label class='barradistanziatrice'> |</label> <label class='messaggio'> $mss </label> <br/></p>";
}
mysql_close($db);
?>
</body>
</html>

infopersonali2.php:

PHP:
<html>
<head>
<style type="text/css">
p.informazioni {color:black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%}
p.altreinfo {color:black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%}
</style>
</head>
<body>
<center><?php
include 'header.php'; 
session_start();
error_reporting(E_ALL);
$username = (!empty($_GET['id'])) ? $_GET['id'] : 'Niente';
$dati = mysql_query("SELECT scuola, sesso, situazionesentimentale, cittanatale FROM utenti WHERE username='$username'");
$risultato= mysql_fetch_array($dati);
print "<p class='informazioni'><b class='invariabili'>Scuola:</b> $risultato['scuola']</p>";
print "<p class='altreinfo'><b class='invariabili'>Sesso:</b> $risultato['sesso']</p>";
print "<p class='altreinfo'><b class='invariabili'>Situazione sentimentale:</b> $risultato['situazionesentimentale']</p>";
print "<p class='altreinfo'><b class='invariabili'>Citt&agrave natale:</b> $risultato['cittanatale']</p>";
?></center>
</body>
</html>

statoprofilo2.php

PHP:
<html>
<head>
<style type="text/css">
p.statoprofilo {color:black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%}
</style>
</head>
<body>
<center><?php
include 'header.php'; 
session_start();
error_reporting(E_ALL);
$username = (!empty($_GET['id'])) ? $_GET['id'] : 'Niente';
$dati = mysql_query("SELECT post FROM utenti WHERE username='".$_GET['id']."'");
$risultato= mysql_fetch_array($dati);
$_GET['post'] = $risultato['post'];
print "<p class='statoprofilo'><b>Il mio stato:</b> {$_GET['post']}</p>";
?></center>
</body>
</html>

Infine questa è la pagina di profilo dalla quale si effettua la ricerca:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
p.saluto{margin-top:10%; margin-left:25%; color:white; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:200%; font-weight:bold}
a.chatcomune {text-decoration:none; margin-left:30%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:150%; color:white}
div.sidebar1 {float: left; width:25%; height:100%; background-color:#0165B6; border:1px solid #48aed1; margin-top:-50%; margin-left:3%}
div.sidebar2 {width:71%; height:100%; background-color:#0165B6; border:1px solid #48aed1; margin-top:1%; margin-left:29%}
p.username {text-decoration:none; color:white; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:5%; margin-top:5%}
p.noresult {color:white; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:5%; margin-top:5%}
p.bacheca {color:black; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-bottom:5%; margin-top:5%}
::-webkit-input-placeholder {font-size:90%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif}
img {max-width:52%;max-height:52%; margin-top:-21%; border: 1px solid black; padding: 2%; background-color:white}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>KnowEveryone</title>
</head>
<body style="background-color:#036"> 
<div id="barra" style="height: 8%; position: fixed; top: 0px; bottom: 0; left: 0; width: 100%; background-color: #006699; border-bottom: 1px solid #133783; position:fixed !important"> 
<p style="margin-top:1%; margin-bottom:1%; margin-left:1%; color:#FFF; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:150%; font-weight:bold; text-align:left">KnowEveryone <a href="profile2.php" style="text-decoration:underline; color:white"><?php session_start(); print "({$_SESSION['utente']})";?></a><a href="login2.php?azione=logout" style="text-decoration:none; color:#FFF; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:100%; font-weight:bold; margin-right:1%; margin-left:2%"> Esci</a></p> 
</div> 
<?php 
include 'header.php';  
session_start(); 
error_reporting(E_ALL); 
print "<p class='saluto'>{$_SESSION['utente']}</p>"; 
print "<a href='prechat.html' class='chatcomune'>Vai alla chat comune!</a>"; 
?> 
<div class="sidebar2"> 
<iframe name="visualizza" width="100%" height="80%" frameborder="1" src="bacheca_visualizza.php" style="background-color:white; border:1px solid white" scrolling="yes"></iframe> 
<center><iframe name="visualizza" width="100%" height="10%" frameborder="1" src="bacheca_input.php" style="background-color:white; border:1px solid #CCCCCC; background-color:#0165B6" scrolling="no"></iframe></center> 
</div> 
<div class="sidebar1"> 
<center> 
<?php 
error_reporting(E_ALL); 
$dati = mysql_query("SELECT foto FROM utenti WHERE username='".$_SESSION['utente']."'"); 
$risultato= mysql_fetch_array($dati); 
$_SESSION['foto'] = $risultato['foto']; 
echo '<img src="'.$risultato['foto'].'">'; 
?> 
<iframe name="visualizza" width="65%" height="20%" frameborder="1" src="infopersonali.php" style="margin-top:10%; background-color:white; border:1px solid black"></iframe> 
<p style="margin-top:5%"><a href="modifica_dati2.php" style="text-decoration:none; color:white; font-size:120%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif">[modifica dati]</a></p> 
<iframe name="visualizza" width="65%" max-height="25%" frameborder="1" src="statoprofilo.php" style="background-color:white; border:1px solid black"></iframe> 
<?php  


            if(!isset($_POST['post'])){ ?> 
             
                <form method="post" action="#" id="modificastato" style="alignment-adjust:central"> 
                     
                    <ul> 
                        <label for="post" style="font-size:120%; color:white; margin-left:-11%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif">Inserisci il tuo stato:</label> 
                        <br> 
                            <input type="text" name="post" id="post" style="width:65%; height:120%; font-size:120%; border:1px solid black; margin-left:-12%; margin-top:5%" /><br> 
                            </ul> 
                        <input type="submit" name="invia" id="salva" value="Salva" style="width:20%; height:9%; color:black; background-color:white; border:1px solid black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%; margin-bottom:5%" /> 
                </form>         
    <?php    } else { 
                                 
                // Valori del form 
                 
                $post = mysql_real_escape_string($_POST['post']); 
                 
                        // Invia dati alla tb utenti 
                         
                        $query="UPDATE utenti SET post='".$post."' WHERE  username='".$_SESSION['utente']."'";  
$inviautente=mysql_query($query) or die(mysql_error()); 
header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}#"); 
                         
                         
                        } 
    ?> 
<?php 
            if(!isset($_POST['cerca'])){ ?> 
             
                <form method="post" action="#" id="formricerca" style="alignment-adjust:central"> 
                     
                    <input type="text" name="username" id="username" style="margin-bottom:5%; width:65%; height:9%; font-size:120%; border:1px solid black"; placeholder="Cerca una persona qui"/> 
                    <input type="submit" name="cerca" id="cerca" value="Cerca" style="width:20%; height:9%; color:black; background-color:white; border:1px solid black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%; margin-bottom:5%"/> 
                </form>         
    <?php    } else { 
                                 
                        $username = mysql_real_escape_string($_POST['username']); 
                        if($username == ""){ 
                     
                        echo "Attenzione, devi compilare tutti i campi"; 
                     
                        } else { 
                         
                        $recuperadati = mysql_query("SELECT * FROM utenti WHERE username= '$username'"); 
                                  
                                $verificadati = mysql_num_rows($recuperadati);  
                                  
                                if($verificadati == 1){  
                                  
                                    echo "<a href='result_search2.php?id=$username' class='username'>$username</a>"; 
                                     
                                    } else {  
                                  
                                    echo "<p class='noresult'>Nessun risultato trovato! Aggiorna la pagina per eseguire una nuova ricerca.</p>";  
                                    }  
                              
                            }  
                          
                        }  
                      
?> 

</div>
</body>  
</html>

Grazie in anticipo per l'aiuto che mi darai e ancora grazie per quello che mi hai dato!!!:D :D :D
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
bisogna un pochettino rivoluzionare un po il tutto, quello era l'unico ssistema per far capire alla query quale record eliminare,
eventualmente se hai pazienza ti posto come faccio io (tra l'altro non utilizzo il form)
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ciao
bisogna un pochettino rivoluzionare un po il tutto, quello era l'unico ssistema per far capire alla query quale record eliminare,
eventualmente se hai pazienza ti posto come faccio io (tra l'altro non utilizzo il form)

Se potessi sarebbe fantastico e te ne sarei per sempre grato.
Grazie,
hacksatifal.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto per il delete
io faccio in questo modo (se leggi i commenti dovrebbe essere chiaro)

poi importante: un problema => un post

PHP:
<?php
if(!isset($_SESSION)){session_start()}  
if(!isset($_SESSION['utente'])){//immagino che venga da un log, quindi se il log non è giusto la sessione non deve esistere  
    header("location: pagina_che_vuoi.php"); 
    exit();   
} 
//queste le uso perche quando si usa GET può essere pericoloso, i valori si vedono, in questo modo è più difficile
//che un malintenzionato riesca ad individuare l'id (o quello che c'è nella querystringa) e di trasmetterlo
function codifica_q($g){//camuffo
	$prima=rand(100,999);//genero un numero casuale compreso tra 100 e 999
	$q_p=strlen($prima);//questi servono nel caso cambiassi il numero delle cifre rand
	$dopo=rand(10,99);//c.s. tra 10 e 99
	$q_d=strlen($dopo);//questi servono nel caso cambiassi il numero delle cifre rand
	return $q_p.$prima.$g.$dopo.$q_d;
}
function decodifica_q($g){//scamuffo
	$num_prima=$g[0]+1;
	$num_dopo=$g[(strlen($g)-1)]+1;
	$num_id_orig=strlen($g)-$num_prima-$num_dopo;
	return substr($g,$num_prima,$num_id_orig);
}
?>
<!-- tralascio l'html , consiglio: usa i css esterni-->  
<?php
require_once "connessione.php";
if(isset($_GET['id'])){//hai cliccato su DEL e hai confermato
	//scamuffo l'id
	$id=decodifica_q($_GET['id']);
	$query="DELETE FROM bacheca WHERE Nome='".$_SESSION['utente']."' AND id='$id'";
	//utilizzando l'id del record non ti servirebbe qui nemmeno la  $_SESSION['utente']
    $inviautente=mysql_query($query) or die(mysql_error());   
    header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}");    
}
//altro piccolo consiglio: usa solo le minuscole per nomi campi e variabili, si evitano errori di digitazione
$query = "SELECT * FROM bacheca WHERE Nome='".$_SESSION['utente']."' ORDER BY Nome, Data";//ti conviene metterli in ordine di nome
//oppure  ORDER BY Data, Nome in ordine di data
$result = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($result)==0){
	echo "non ci sono messaggi da eliminare";
	//e qui metti un link per andare dove vuoi
}else{}
	//a me piace vedere i dati ordinati quindi te li metto in una tabella, che poi puoi formattare con i css
	echo "<table><tr><th>data</th><th>nome</th><th>messaggio</th><th>eliminare</th></tr>";
	while($riga=mysql_fetch_array()){
		//qui poi puoi semplificare
		$id=$riga['id'];//qui verifica come hai chiamato l'id del record, è meglio trasmettere l'id che la data per identificare il record
		$data=date("d/n/Y g:i:s A", $riga['Data']);
		$mss = stripslashes($riga['Messaggio']);
		echo "<tr>";
		echo "<td>$data</td>";
		echo "<td>$mss</td>";
		//il prossimo link puoi poi formattarlo come vuoi con i css
		//essendo l'eliminazione pericoloso ti ho messo un alert di conferma
		echo "<td><a href=\"?id=".codifica_q($id)."\" onclick=\"return(confirm('stai eliminando il messaggio del $data CONFERMA'))\">DEL</a></td>";
		//se vai a vedere sorgente pagina vedrai che l'id è camuffato
		echo "</tr>";
	}
	echo "</table>";
}
?>
se ti va bene, provalo (verifica perchè posso aver fatto degli errori di digitazione)

p.s.
se vuoi al posto dell'id puoi comunque trasmettere la data, però ricordati che non puoi trametterla in formato umano ,ma in timestamp altrimenti la query non trova il record da eliminare
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ciao
intanto per il delete
io faccio in questo modo (se leggi i commenti dovrebbe essere chiaro)

poi importante: un problema => un post

PHP:
<?php
if(!isset($_SESSION)){session_start()}  
if(!isset($_SESSION['utente'])){//immagino che venga da un log, quindi se il log non è giusto la sessione non deve esistere  
    header("location: pagina_che_vuoi.php"); 
    exit();   
} 
//queste le uso perche quando si usa GET può essere pericoloso, i valori si vedono, in questo modo è più difficile
//che un malintenzionato riesca ad individuare l'id (o quello che c'è nella querystringa) e di trasmetterlo
function codifica_q($g){//camuffo
	$prima=rand(100,999);//genero un numero casuale compreso tra 100 e 999
	$q_p=strlen($prima);//questi servono nel caso cambiassi il numero delle cifre rand
	$dopo=rand(10,99);//c.s. tra 10 e 99
	$q_d=strlen($dopo);//questi servono nel caso cambiassi il numero delle cifre rand
	return $q_p.$prima.$g.$dopo.$q_d;
}
function decodifica_q($g){//scamuffo
	$num_prima=$g[0]+1;
	$num_dopo=$g[(strlen($g)-1)]+1;
	$num_id_orig=strlen($g)-$num_prima-$num_dopo;
	return substr($g,$num_prima,$num_id_orig);
}
?>
<!-- tralascio l'html , consiglio: usa i css esterni-->  
<?php
require_once "connessione.php";
if(isset($_GET['id'])){//hai cliccato su DEL e hai confermato
	//scamuffo l'id
	$id=decodifica_q($_GET['id']);
	$query="DELETE FROM bacheca WHERE Nome='".$_SESSION['utente']."' AND id='$id'";
	//utilizzando l'id del record non ti servirebbe qui nemmeno la  $_SESSION['utente']
    $inviautente=mysql_query($query) or die(mysql_error());   
    header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}");    
}
//altro piccolo consiglio: usa solo le minuscole per nomi campi e variabili, si evitano errori di digitazione
$query = "SELECT * FROM bacheca WHERE Nome='".$_SESSION['utente']."' ORDER BY Nome, Data";//ti conviene metterli in ordine di nome
//oppure  ORDER BY Data, Nome in ordine di data
$result = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($result)==0){
	echo "non ci sono messaggi da eliminare";
	//e qui metti un link per andare dove vuoi
}else{}
	//a me piace vedere i dati ordinati quindi te li metto in una tabella, che poi puoi formattare con i css
	echo "<table><tr><th>data</th><th>nome</th><th>messaggio</th><th>eliminare</th></tr>";
	while($riga=mysql_fetch_array()){
		//qui poi puoi semplificare
		$id=$riga['id'];//qui verifica come hai chiamato l'id del record, è meglio trasmettere l'id che la data per identificare il record
		$data=date("d/n/Y g:i:s A", $riga['Data']);
		$mss = stripslashes($riga['Messaggio']);
		echo "<tr>";
		echo "<td>$data</td>";
		echo "<td>$mss</td>";
		//il prossimo link puoi poi formattarlo come vuoi con i css
		//essendo l'eliminazione pericoloso ti ho messo un alert di conferma
		echo "<td><a href=\"?id=".codifica_q($id)."\" onclick=\"return(confirm('stai eliminando il messaggio del $data CONFERMA'))\">DEL</a></td>";
		//se vai a vedere sorgente pagina vedrai che l'id è camuffato
		echo "</tr>";
	}
	echo "</table>";
}
?>
se ti va bene, provalo (verifica perchè posso aver fatto degli errori di digitazione)

p.s.
se vuoi al posto dell'id puoi comunque trasmettere la data, però ricordati che non puoi trametterla in formato umano ,ma in timestamp altrimenti la query non trova il record da eliminare

L'ho provato e mi dà un errore di sintassi:'Parse error: syntax error, unexpected '}' in /membri/knoweveryone/bacheca_visualizza.php on line 2', come lo risolvo? Ho provato aggiungendo un ';' alla fine di session_start(); ma si sposta alla riga 69, perché?
Grazie ancora per il tuo aiuto,
hackersatifal.:D
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [VB 17]: Eliminare doppioni in listbox Visual Basic 1
spider81man Eliminare primo ed ultimo carattere di una colonna MySQL 0
G Eliminare l'effetto refresh di una pagina internet PHP 8
M eliminare padding logo sito HTML e CSS 2
A eliminare caratteri speciali mettendo uno spazio PHP 0
A eliminare caratteri diacritici con codice ascii PHP 4
MarcoGrazia Eliminare in automatico i caratteri spuri all'inizio e alla fine di una stringa Snippet PHP 0
L Eliminare estensione .html HTML e CSS 9
L [RISOLTO] Eliminare una discussione creata PHP 3
S Eliminare spazio iniziale PHP 2
S [PHP] Eliminare doppioni array e rinumerare le posizioni PHP 2
maxnegri Eliminare url index.php con variabili e reindirizzare alla home del sito PHP 7
D [ASP] Eliminare gli zeri che nn servono Classic ASP 1
K Come eliminare attributi regex per validazione con javascript Javascript 0
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
P [HTML] Eliminare doppio menu in wordpress WordPress 2
P [WordPress] Eliminare scritta Categories da post WordPress 4
C [PHP] eliminare elemento da un array multidimensionale PHP 9
L Mi trovo nell'impossibilità di eliminare un record nella tabella Database 1
A [WordPress] Eliminare riga codice HTML WordPress 6
loois come eliminare una discussione fata in questo forum ? Discussioni Varie 1
trattorino [PHP] Eliminare piu frasi PHP 1
C [PHP] RISOLTO - Eliminare elementi duplicati da array multidimensionale PHP 1
L [HTML] versione mobile eliminare stile menu da nav HTML e CSS 0
T Come eliminare canonical url da blogger SEO e Posizionamento 0
dany81 [Photoshop] Eliminare più sfondo possibile... Photoshop 3
Monital [PHP] Eliminare la Barra di caricamento file alla fine dell'esecuzione PHP 11
asevenx [PHP] Eliminare record automaticamente dopo una certa data PHP 12
L Eliminare suono da iframe HTML e CSS 3
G Eliminare scrollbar laterale di visuallightbox jQuery 0
H Eliminare div creato da javascript Javascript 1
9 eliminare righe di una tabella con form html PHP 6
M Eliminare un cookie PHP 1
elpirata Eliminare dati selezionati da una form di select PHP 6
Marco_88 Eliminare una colonna da una LEFT JOIN MySQL 4
A come eliminare i suggerimenti della barra degli indirizzi su google chrome? Windows e Software 3
M Eliminare immagini da directory / *dal database fatto! PHP 2
K eliminare il carriage return Javascript 4
S Problema nell'eliminare un'immagine PHP 2
felino Eliminare stringa compresa tra due tags PHP 4
Creatt Eliminare macchine in centos Linux e Software 2
filippino Eliminare lo sfondo di una foto Photoshop 1
D [VB.NET] Eliminare Cartella e sottocartelle TRAMITE FTP .NET Framework 1
D Eliminare voce da campo db Classic ASP 5
filippino Eliminare le barre scorrimento HTML e CSS 1
A come eliminare Awesomehp Sicurezza e Virus 1
L eliminare un prodotto dal carrello tramite l'id della sessione PHP 1
felino Array: eliminare gli elementi che soddisfano una condizione PHP 5
A Eliminare bordo blu al click di un'immagine mappata HTML e CSS 3
L Eliminare Tag in runtime... jQuery 1

Discussioni simili