ciao a tutti, ho provato questo script php per elencare e stampare a video, inserire, modificare o cancellare uno o più records nel database. Funziona tutto bene, salvo la pagina edit hce nel campo del form descrizione invece di fare apparire il testo (come appare nel titolo) mi fa apparire il codice di quanto segue. C'è da dire che nello scripto che ho trovato il campo descrizione del form era un semplice <input type="text"> che io ho modificato in <textarea name="descrizione" cols=60 rows=12> in quanto il testo che deve apparire occupa più righe.
Posto il codice e indico dove appare l'errore:
in attesa di aiuto!!!!
Posto il codice e indico dove appare l'errore:
PHP:
<?php
function renderForm($id, $titolo, $descrizione, $error)
{
?>
<!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">
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" ><![endif]-->
<!--[if gt IE 8]><html class="no-js" ><![endif]-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--@-webkit-viewport { width: device-width; } -->
</head>
<body>
<!-- Contenuti (home) -->
<div class="container">
<div> <!--Breadcrumb -->
<ul class="breadcrumb">
<li><a href="http://forum.mrwebmaster.it/index.html"><span class="glyphicon glyphicon-home"></span>Home</a></li>
<li><a href="#"><span class="glyphicon glyphicon-calendar"></span>News</a></li>
<li class="active">Modifica notizia</li>
</ul>
</div><!-- /. Breadcrumb -->
<div class="col-xs-11 col-sm-11 col-sm-offset-2"><br /><br />
<center>
<?php
// se ci sono errori, vengono visualizzati
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
<form action="" method="post">
<input type="hidden" name="id" value="<?php echo $id; ?>"/>
<div>
<strong>Titolo: *</strong> <input type="text" size=55 name="titolo" value="<?php echo $titolo; ?>"/><br/>
<strong>Descrizione: *</strong> <textarea name="descrizione" cols=60 rows=12 value="<?php echo $descrizione; ?>"/>
[B]// Qui appre l'errore, quanto segue fino alla chiusura html appare all'interno del campo textarea
// mente non appare il il pulsante Richiesto con il pulsante invia sotto il campo della descrizione
// campo che invece deve contenere il testo richiamato dal records da modificare[/B]
<br/><br/>
<p>* Richiesto</p>
<input type="submit" name="submit" value="Invia">
</div>
</form>
</center>
</div><!--/.row-->
</div><!--/.container-->
</body>
</html>
<?php
}
// connect to the database
include('connect-db.php');
// check if the form has been submitted. If it has, process the form and save it to the database
if (isset($_POST['submit']))
{
// confirm that the 'id' value is a valid integer before getting the form data
if (is_numeric($_POST['id']))
{
// get form data, making sure it is valid
$id = $_POST['id'];
$titolo = mysql_real_escape_string(htmlspecialchars($_POST['titolo']));
$descrizione = mysql_real_escape_string(htmlspecialchars($_POST['descrizione']));
// check that titolo/descrizione fields are both filled in
if ($titolo == '' || $descrizione == '')
{
// generate error message
$error = 'ERROR: Please fill in all required fields!';
//error, display form
renderForm($id, $titolo, $descrizione, $error);
}
else
{
// save the data to the database
mysql_query("UPDATE news SET titolo='$titolo', descrizione='$descrizione' WHERE id='$id'")
or die(mysql_error());
// once saved, redirect back to the view page
header("Location: view.php");
}
}
else
{
// if the 'id' isn't valid, display an error
echo 'Error!';
}
}
else
// if the form hasn't been submitted, get the data from the db and display the form
{
// get the 'id' value from the URL (if it exists), making sure that it is valid (checing that it is numeric/larger than 0)
if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0)
{
// query db
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM news WHERE id=$id")
or die(mysql_error());
$row = mysql_fetch_array($result);
// check that the 'id' matches up with a row in the databse
if($row)
{
// get data from db
$titolo = $row['titolo'];
$descrizione = $row['descrizione'];
// show form
renderForm($id, $titolo, $descrizione, '');
}
else
// if no match, display result
{
echo "No results!";
}
}
else
// if the 'id' in the URL isn't valid, or if there is no 'id' value, display an error
{
echo 'Error!';
}
}
?>
in attesa di aiuto!!!!
Ultima modifica di un moderatore: