Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Inserire post in database Mysql

    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>
      <?
    }
    ?>

  2. #2
    Ciao Elsalvador.
    Come primo impatto noto che hai utilizzato la variabile
    codice:
    $data
    sia per ricevere il post della data, sia per istanziare l'oggetto.
    Prova a rinominare una delle due variabile, ti conviene
    codice:
    $data
    riferita al Post, e dovrebbe andare tutto ok.

    Spero di esserti stato d'aiuto.
    Ho una logica tutta mia, fatta di if else ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.