Ciao a tutti!
a distanza di tempo mi ritrovo sullo stesso progetto (il quale è stato abbandonato per un lungo periodo) e purtroppo ci sono ancora problemi di codice.
Se inserisco un evento, tutto ok! (Tramite la pagina inserisci_evento.php)
Se invece lo voglio modificare fa i capricci. (Tramite il form modifica_cancella.php)
vi spiego meglio:
Mettiamo il caso che io tra i miei eventi ne ho già uno ERRONEAMENTE chiamato così:
index.php pagina di stampa degli eventi
__________________________________________________________
Data : 11-11-2013
Evento: EVENTO e Corso 11 Novembre - Azienda
\"IV° CONGRESSO dell\'ASSOCIAZIONE
\" PRESIDENTE .Dottore Pinco Pallino.
Luogo : ROMA COLOSSEO
__________________________________________________________
Naturalmente i codici
\" e
\' non piacciono a nessuno, ne tantomeno a me.
Quindi cosa faccio???
Clicco su "modifica" e mi compare un form di modifica con già i dati all'interno pronti ad essere modificati:
(notate come è cambiato il contenuto dell'evento da index.php a modifica_cancella.php)
modifica_cancella.php pagina di modifica
__________________________________________________________
Data : 11-11-2013
Evento: EVENTO e Corso 11 Novembre - Azienda
"IV° CONGRESSO dell
"ASSOCIAZIONE
" PRESIDENTE .Dottore Pinco Pallino.
Luogo : ROMA COLOSSEO
__________________________________________________________
e correggo l'evento così:
__________________________________________________________
Data : 11-11-2013
Evento: EVENTO e Corso 11 Novembre - Azienda "IV° CONGRESSO dell
'ASSOCIAZIONE" PRESIDENTE .Dottore Pinco Pallino.
Luogo : ROMA COLOSSEO
__________________________________________________________
Salvo le modifiche...
e nella pagina degli eventi (index.php) NON è cambiato assolutamente niente e compare così:
__________________________________________________________
Data : 11-11-2013
Evento: EVENTO e Corso 11 Novembre - Azienda
\"IV° CONGRESSO dell\'ASSOCIAZIONE
\" PRESIDENTE .Dottore Pinco Pallino.
Luogo : ROMA COLOSSEO
__________________________________________________________
Vi posto i codici :
inserisci_evento.php
PHP:
<?php
include ("config.php");
include ("connect.php");
$data_ = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['data'])))));
if ( !empty ($data_)) { $data = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['data'])))));}
elseif (empty ($data_)){die ( "<p style=\" font-weight:bold; text-align:center;\">Errore nella compilazione dei dati. <br />Non hai indicato la data.<br /><br />
<a href=\"javascript:history.go(-1)\" title=\"Torna indietro\">Torna indietro.</a></p>");}
$evento_ = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['evento'])))));
if ( !empty ($evento_)) { $evento = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['evento'])))));}
elseif (empty ($evento_)){die ( "<p style=\"font-weight:bold; text-align:center;\">Errore nella compilazione dei dati. <br />Non hai indicato l'evento.<br /><br />
<a href=\"javascript:history.go(-1)\" title=\"Torna indietro\">Torna indietro.</a></p>");}
$luogo_ = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['luogo'])))));
if ( !empty ($luogo_)) { $luogo = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['luogo'])))));
}
elseif (empty ($luogo_)){die ( "<p style=\"font-weight:bold; text-align:center;\">Errore nella compilazione dei dati. <br />Non hai indicato il luogo.<br /><br />
<a href=\"javascript:history.go(-1)\" title=\"Torna indietro\">Torna indietro.</a></p>");}
htmlentities ( $data, $evento, $luogo, ENT_NOQUOTES );
$strsql = "INSERT INTO eventi (data, evento, luogo) VALUES ('$data', '$evento', '$luogo')";
$rs=@mysql_query ("$strsql") or die ("Errore di Connessione" .mysql_error());
header("location: ./index.php");
echo "<meta http-equiv='Refresh' content='3; URL=./index.php'>";
?>
____________________________________________________________
modifica_cancella.php
PHP:
<?php
include_once("config.php");
include_once("connect.php");
if(isset($_POST['mod'])){//se hai premuto il submit del form mod
$id=$_POST['id'];
$data=$_POST['data'];
$evento = mysql_real_escape_string($_POST['evento']);
$luogo = mysql_real_escape_string($_POST['luogo']);
$q="UPDATE eventi SET data='$data', evento='$evento', luogo='$luogo' WHERE ID='$id'";
var_dump($q);
$ris=mysql_query($q);
echo "<h4>Il record $id e' stato modificato con successo!</h4>";
//qui il ritorno automatico alla pag stampa_eventi.php
echo "<meta http-equiv='Refresh' content='3; URL=./index.php'>";
}
//***********
if(isset($_GET['mod'])){//hai cliccato su mod
$id=addslashes(htmlspecialchars($_GET['mod']));//con un po' di protezione al get
$q="SELECT * FROM eventi WHERE ID='$id'";
$ris=mysql_query($q);
$riga=mysql_fetch_array($ris);
$data=$riga['data'];//in che modo inserisci la data? io usalmente uso il timestamp
$evento=stripslashes($riga['evento']); // qui
$luogo=stripslashes($riga['luogo']); // qui
//e qui il form di mod (entro e esco da php ma poi se vuoi puoi renderlo tutto php)
//nei campi di input si visualizza il valore originale
?>
<body >
<br /><br />
<div align="center">
<form method="POST" name="test" enctype="multipart/form-data" action="modifica_cancella.php">
<input name="id" type="hidden" id="id" value="<?php echo $id;?>">
Seleziona la DATA : <br> <input type="text" name="data" id="data" value="<?php echo $data;?>" size="50" ><input type="reset" value=" Calendario "
onclick="return showCalendar('data', '%Y-%m-%d');">
<tr>
<br><br>
Modifica il TITOLO EVENTO:
<tr><br>
<tr><input name="evento" size="200" type="text" id="evento" value='<?php echo str_replace("'", "\"", $evento); ?>' maxlength="300">
<tr><br><br>
Modifica il LUOGO:
<tr><br>
<tr><input name="luogo" size="200" type="text" id="luogo" value='<?php echo str_replace("'", "\"", $luogo); ?>' maxlength="300">
</p>
<p>
<input name="mod" type="submit" id="mod" value="modifica">
</p>
</form>
<!-- se vuoi qui puoi mettere un link per uscire senza passare dall'uppaggio
<a href="stampa_eventi.php">[esci]</a> -->
<!-- eventualmente anche qui con una conferma -->
<a href="./index.php" onClick="return(confirm('ATTENZIONE: le eventuali modifiche non verranno salvate'))" >[ESCI senza salvare le modifiche]</a>
<?php
}elseif(isset($_GET['del'])){//hai cliccato su ELIMINA
($_GET['del']);//**** primo
$id=addslashes(htmlspecialchars($_GET['del']));//con un po' di protezione al get
$q="DELETE FROM eventi WHERE ID='$id'";
($q);//**** secondo
$ris=mysql_query($q);
($ris);//**** terzo
echo "<h4>Il record $id e' stato cancellato con successo!</h4>";
//qui il ritorno automatico alla pag stampa_eventi.php
echo "<meta http-equiv='Refresh' content='2; URL=./index.php'>";
}
?>
_____________________________________________________________
index.php
PHP:
<?php
include_once ("config.php");
include_once ("connect.php");
// Get all the data from the "example" table
$result = mysql_query("SELECT * FROM eventi ORDER BY data DESC")
or die(mysql_error());
echo "<table width='100%' border='1' align='center' >";
echo "<tr> <th>Data<br>AAAA - MM - GG</th> <th>Evento</th> <th>Luogo</th><th>MODIFICA</th><th>CANCELLA</th></tr>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
// lettura dell'id è indispensabile
$id=$row['ID'];//ti serve quando dai il modifica o il delete
// Print out the contents of each row into a table
//***semplifica***
echo "<tr><td width='10%'>". $row['data'] . "</td><td>". $row['evento'] . "</td><td>". $row['luogo'] . "</td>";
//e qui le ultime due celle con i link per modificare o aliminare
echo "<td align='center'><a href=\"modifica_cancella.php?mod=$id\">[modifica]</a></td>";
echo"<td><a href=\"modifica_cancella.php?del=$id\" onclick=\"return(confirm('stai eliminando evento del ".$row['data']."'))\" >[cancella]</a></td></tr>";
//ti ho messo la data nella conferma perche evento può essere pericoloso
//es se hai evento = l'onomastico di pinco l'apostrofo interferisce e ti fa casino, mentre nelle date non hai mai l'apostrofo
}
echo "</table>";
?>
Aiutatemi voi! :crying::crying::crying: