Salve ,ho un database e questo documento php mi serve per l'inserimento dei post tramite php appunto , avrei un problemino con il codice php perchè mi dice che non riesce a convertire un valore di questi in stringa. Credo sia dovuto alla data , poichè il tipo del campo data nel database è DATETIME come devo fare per inserirlo?L'errore che mi da è questo :
codice:
Object of class MysqlClass could not be converted to string
Codice PHP:
<?php
// inizializzazione della sessione
session_start();
// controllo sul valore di sessione
if (!isset($_SESSION['login']))
{
// reindirizzamento alla home page in caso di login mancato
header("Location: index.php");
}
// valorizzazione delle variabili con i parametri dal form
if(isset($_POST['submit'])&&($_POST['submit']=="Scrivi")){
if(isset($_POST['autore'])){
$autore = addslashes(filter_var($_POST['autore'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['titolo'])){
$titolo = addslashes(filter_var($_POST['titolo'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['testo'])){
$testo = addslashes(filter_var($_POST['testo'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['data'])){
$data = addslashes(filter_var($_POST['data'], FILTER_SANITIZE_STRING));
}
// inclusione del file della classe
include "funzioni_mysql.php";
// istanza della classe
$data = new MysqlClass();
// chiamata alla funzione di connessione
$data->connetti();
$t = "post"; # nome della tabella
$v = array ($titolo,$testo,$autore,$data); # valori da inserire
$r = "titolo_post,testo_post,autore_post,data_post"; # campi da popolare
// chiamata alla funzione per l’inserimento dei dati
$data->inserisci($t,$v,$r);
echo "Articolo inserito con successo.";
// disconnessione
$data->disconnetti();
}else{
// form per l'inserimento
?>
<h1>Inserimento post:</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Titolo:
<input name="titolo" type="text">
Data:
<input name="titolo" type="text">
Testo:
<textarea name="testo" cols="30" rows="10"></textarea>
Autore:
<input name="autore" type="text">
<input name="submit" type="submit" value="Scrivi">
</form>
<?
}
?>
Mentre se tolgo la data da inserire funziona , il code funzionante è questo :
Codice PHP:
<?php
// inizializzazione della sessione
session_start();
// controllo sul valore di sessione
if (!isset($_SESSION['login']))
{
// reindirizzamento alla home page in caso di login mancato
header("Location: index.php");
}
// valorizzazione delle variabili con i parametri dal form
if(isset($_POST['submit'])&&($_POST['submit']=="Scrivi")){
if(isset($_POST['autore'])){
$autore = addslashes(filter_var($_POST['autore'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['titolo'])){
$titolo = addslashes(filter_var($_POST['titolo'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['testo'])){
$testo = addslashes(filter_var($_POST['testo'], FILTER_SANITIZE_STRING));
}
// inclusione del file della classe
include "funzioni_mysql.php";
// istanza della classe
$data = new MysqlClass();
// chiamata alla funzione di connessione
$data->connetti();
$t = "post"; # nome della tabella
$v = array ($titolo,$testo,$autore,date("Y-m-d")); # valori da inserire
$r = "titolo_post,testo_post,autore_post,data_post"; # campi da popolare
// chiamata alla funzione per l’inserimento dei dati
$data->inserisci($t,$v,$r);
echo "Articolo inserito con successo.";
// disconnessione
$data->disconnetti();
}else{
// form per l'inserimento
?>
<h1>Inserimento post:</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Titolo:
<input name="titolo" type="text">
Testo:
<textarea name="testo" cols="30" rows="10"></textarea>
Autore:
<input name="autore" type="text">
<input name="submit" type="submit" value="Scrivi">
</form>
<?
}
?>