View Full Version : Script PHP: Edit e Delete
Hormen100
28-02-2013, 11:23
Buongiorno a tutti,
Vorrei creare uno Script PHP che permette di Modificare ( Edit.php ) e Cancellare ( Delete.php ) dei testi presenti all'interno di un Database. Non so come farlo, potreste darmi qualche indicazione su come impostare lo Script?E' necessario farne due distinti ( Uno edit ed uno delete ) oppure si possono mettere entrambi in uno solo?
Cordiali saluti
Hormen
Hormen100
01-03-2013, 06:02
Faccio il mio UP quotidiano, dicendovi che ho " buttato giù " un pò di codice ma non saprei se è giusto o meno, anche perchè mi da errore alla linea 18.
<html>
<body>
<title> Cancella </title>
<?php
$connect = mysql_connect('localhost','root','');
if (!$connect) {
exit ('<p> Impossibile connettersi al Database in questo momento </p>');
}
$select = mysql_select_db('NOMEDB');
if (!$select) {
exit ('<p> Errore nella selezione del Database </p>');
}
$id = $_GET['id'];
$ok = @mysql_query("DELETE FROM CAMPO1 WHERE id = '$id'");
if ($ok and id) {
echo '<p> Articolo eliminato con successo </p>';
} else {
echo '<p>Errore nell'eliminazione dell'articolo!<br />'.'Motivo: '.mysql_error().'</p>';
}
?>
</body>
</html>
Confido in voi.
The_ouroboros
01-03-2013, 16:34
Se posti quello fatto fin ora magari una mano te la diamo meglio. :-)
Riferimenti a codice che non c'è è arduo compito per chi deve aiutare..
Inviato dal mio Sony Xperia P
Hormen100
02-03-2013, 09:15
Se posti quello fatto fin ora magari una mano te la diamo meglio. :-)
Riferimenti a codice che non c'è è arduo compito per chi deve aiutare..
Inviato dal mio Sony Xperia P
Ciao,
Il codice completo è nel post sopra al tuo.
Saluti
Che errore ti da?
Comunque nell'istruzione
if ($ok and id) {
hai dimenticato il $ per la variabile "id"...
Hormen100
03-03-2013, 13:48
Che errore ti da?
Comunque nell'istruzione
if ($ok and id) {
hai dimenticato il $ per la variabile "id"...
Ciao e grazie per la risposta,
Con lo Script di Cancellazione degli articoli ho risolto...Ora ho un problema con quello per modificarli..ecco il codice
<html>
<body>
<title> Modifica </title>
<h3="center" Modifica </h3>
<?php
$connect = mysql_connect('localhost','root','');
if (!$connect) {
exit ('Impossibile connettersi al Database in questo momento');
}
$select = mysql_select_db('NomeDatabase');
if (!$select) {
exit ('Errore nella selezione del Database');
}
if (isset($_POST['articolo']));
$art = $_POST['articolo'];
$id = $_POST['id'];
$query = "UPDATE articoli SET WHERE id = '".$id."'";
if (mysql_query($query)) {
echo 'Articolo aggiornato con successo';
}
else {
echo 'Errore durante l\'aggiornamento dell\'articolo. Motivo:'.mysql_error();
}
// Converto i caratteri speciali in attributi HTML
$special= htmlspecialchars($name);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method = "post">
<p> Modifica l'articolo: </p>
<textarea name="articolo" rows="10" cols="40">
</textarea>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<br>
<br>
<input type = "submit" value=" Modifica " />
</form>
</body>
</html>
Dovrei creare una variabile che quando clicco su Modifica memorizza il testo dell'articolo e lo mette poi nella textarea ma non so come fare, inoltre quando faccio partire lo script in locale ecco cosa mi dice:
Notice: Undefined index: articolo in C:\xampp\htdocs\modifica.php on line 16
Notice: Undefined index: id in C:\xampp\htdocs\modifica.php on line 17
Errore durante l'aggiornamento dell'articolo. Motivo:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = ''' at line 1
Notice: Undefined variable: name in C:\xampp\htdocs\modifica.php on line 26
Cosa significano e perchè ricevo quelle scritte?
The_ouroboros
03-03-2013, 14:53
Ciao e grazie per la risposta,
Con lo Script di Cancellazione degli articoli ho risolto...Ora ho un problema con quello per modificarli..ecco il codice
<html>
<body>
<title> Modifica </title>
<h3="center" Modifica </h3>
<?php
$connect = mysql_connect('localhost','root','');
if (!$connect) {
exit ('Impossibile connettersi al Database in questo momento');
}
$select = mysql_select_db('NomeDatabase');
if (!$select) {
exit ('Errore nella selezione del Database');
}
if (isset($_POST['articolo']));
$art = $_POST['articolo'];
$id = $_POST['id'];
$stmt = $connect->prepare("UPDATE articoli SET WHERE id = :name");
$stmt->bindParam(':name', $id);
$stmt->execute();
if (CONTROLLA SUCCESSO) {
echo 'Articolo aggiornato con successo';
}
else {
echo 'Errore durante l\'aggiornamento dell\'articolo. Motivo:'.mysql_error();
}
// Converto i caratteri speciali in attributi HTML
$special= htmlspecialchars($name);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method = "post">
<p> Modifica l'articolo: </p>
<textarea name="articolo" rows="10" cols="40">
</textarea>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<br>
<br>
<input type = "submit" value=" Modifica " />
</form>
</body>
</html>
E' anche meglio a livello di sicurezza codice.
p.s: http://php.net/manual/en/pdo.prepared-statements.php
Hormen100
03-03-2013, 18:30
E' anche meglio a livello di sicurezza codice.
p.s: http://php.net/manual/en/pdo.prepared-statements.php
Ciao e di nuovo grazie per la risposta, ho eseguito lo Script che hai rifatto ed ecco cosa mi dice:
Notice: Undefined index: articolo in C:\xampp\htdocs\forum.php on line 15
Notice: Undefined index: id in C:\xampp\htdocs\forum.php on line 16
Fatal error: Call to a member function prepare() on a non-object in C:\xampp\htdocs\forum.php on line 17
Cosa significano queste cose?Cosa hai modificato di preciso nello Script e per cosa si differenzia dal mio?
Ciao e grazie
The_ouroboros
03-03-2013, 19:00
ho "preparato" le quety piuttosto che eseguirle di botto.
Dai un occhio qui: http://www.html.it/pag/16700/interrogare-database-mysql/
Hormen100
03-03-2013, 19:46
ho "preparato" le quety piuttosto che eseguirle di botto.
Dai un occhio qui: http://www.html.it/pag/16700/interrogare-database-mysql/
Grazie per. Il link, l ho letto e ho appreso delle nuove cose... Sai dirmi però come mai mi visualizza quelle Notice? E cosa significano... Grazie
<?php echo 'Inviato dal mio Galaxy Nexus' ?>
Hormen100
05-03-2013, 14:27
Up
Inviato dalla XenonHD
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.