[PHP] Creazione classe PDO

webfra01

Utente Attivo
14 Mag 2018
27
0
1
Ciao a tutti, sto realizzando il mio progetto creare un sito con un blog tutto fatto in php.

Siccome sono all'inizio con la programmazione ho deciso di imparare direttamente quella ad oggetti, ho creato una classe per la connessione al db dove all'interno ce la funzione consteuct che apre la connessione e un altra funzione per la chiusura delle connessione ovvero chiudi() che pare non funzionare.

Qualcuno può gentilmente dirmi se può andate bene cone codice?

PHP:
<?php

//connessione db
class db {

    public $conn;
    private $hostname = "localhost";
    private $dbname = "db";
    private $user = "root";
    private $pass = "";

   
      public function __construct() {

        try{

        $this->conn = new PDO('mysql:host='.$this->hostname.';dbname='.$this->dbname, $this->user, $this->pass);

        $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);      

      // riporta errori

        }catch(PDOException $e){

          die("Errore connessione database: ". $e->getMessage()); }

      }

      public function chiudi() {

          $this->conn = null;
      }

                   

    }




//apro connessione

$test = new db();

//chiudo connessione

$test->chiudi();

 

//controllo non funziona

        if($test == null) {

        echo 'sei disconnesso';

    } else {

        echo 'sei connesso';

}


Poi vorrei creare le funzioni per aggiungere modificare ed eliminare record nel db. Ovviamente sempre con approccio oop e usando quary parametriche e BindParam

Grazie mille a tutti
 

webfra01

Utente Attivo
14 Mag 2018
27
0
1
meglio una sana lettura,
https://phpdelusions.net/pdo (mr webmaster non apre il link, copialo e incollalo nel browser)
anzi due
https://www.culttt.com/2012/10/01/roll-your-own-pdo-php-class/
Grazie mille, il primo link l'ho trovato subito dopo aver postato [emoji23]. Il secondo è un ottima modello, l'esempio l'avevo trovato in un forum ma su questo articolo è spiegato spiegato bene.

Sai se esiste una cosa simile per creare una funzione che mi sanifichi gli input di un form.
Conosco i filter_var o sanitaze ma mi piacerebbe passare una variabile presa da un form ad una funzione ed essa me la restituisca pulita (di spazi slash e simboli sfdabi.

Graize ancora
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
creare una funzione che mi sanifichi gli input di un form
credo non basti, le funzioni dovrebbero restituirti il valore "giusto" per la gestione, considerando anche la "localizzazione".
ho una soluzione semplice (senza localizzazione), giusto per iniziare,
PHP:
function isValidDate($mydate) {
  list($dd,$mm,$yy)=explode("/",$mydate);
  if(is_numeric($yy) and is_numeric($mm) and is_numeric($dd)) return checkdate($mm,$dd,$yy);
  return false;
}

function ValidateString($string) {
  $val = htmlspecialchars( strip_tags( trim( $string ) ) );
  $val = filter_var($val, FILTER_SANITIZE_STRING);
  return $val;
}

function ValidateInt($int) {
  $val = htmlspecialchars(htmlentities(strip_tags(trim($int))));
  $val = (int)filter_var($val, FILTER_SANITIZE_NUMBER_INT);
  return $val;
}

function ValidateFloat($float) {
  $val = htmlentities(strip_tags(trim($float)));
  $val = str_replace(",", ".", str_replace(".", "", $val));
  $val = (float)filter_var($val, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
  return $val;
}

function ValidateEmail($email) {
  $val = htmlspecialchars(htmlentities(strip_tags(trim($email))));
  $val = filter_var($val, FILTER_SANITIZE_EMAIL);
  return $val;
}

function ValidateUrl($url) {
  $val = htmlspecialchars(htmlentities(strip_tags(trim($url))));
  $val = filter_var($val, FILTER_SANITIZE_URL);
  return $val;
}

function ValidateDate($dt, $df = _INTL_DateTimeFormat) {
  $dt = htmlspecialchars(htmlentities(strip_tags(trim($dt))));
  if (empty($dt)) return $dt;
  $dt = str_replace(".000", "", str_replace(".000000", "", $dt));
  $val = DateTime::createFromFormat($df, $dt);
  if ( !( $val and $val->format($df) === $dt ) ) return "ERR";
  return $dt;
}
 

webfra01

Utente Attivo
14 Mag 2018
27
0
1
credo non basti, le funzioni dovrebbero restituirti il valore "giusto" per la gestione, considerando anche la "localizzazione".
ho una soluzione semplice (senza localizzazione), giusto per iniziare,
PHP:
function isValidDate($mydate) {
  list($dd,$mm,$yy)=explode("/",$mydate);
  if(is_numeric($yy) and is_numeric($mm) and is_numeric($dd)) return checkdate($mm,$dd,$yy);
  return false;
}

function ValidateString($string) {
  $val = htmlspecialchars( strip_tags( trim( $string ) ) );
  $val = filter_var($val, FILTER_SANITIZE_STRING);
  return $val;
}

function ValidateInt($int) {
  $val = htmlspecialchars(htmlentities(strip_tags(trim($int))));
  $val = (int)filter_var($val, FILTER_SANITIZE_NUMBER_INT);
  return $val;
}

function ValidateFloat($float) {
  $val = htmlentities(strip_tags(trim($float)));
  $val = str_replace(",", ".", str_replace(".", "", $val));
  $val = (float)filter_var($val, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
  return $val;
}

function ValidateEmail($email) {
  $val = htmlspecialchars(htmlentities(strip_tags(trim($email))));
  $val = filter_var($val, FILTER_SANITIZE_EMAIL);
  return $val;
}

function ValidateUrl($url) {
  $val = htmlspecialchars(htmlentities(strip_tags(trim($url))));
  $val = filter_var($val, FILTER_SANITIZE_URL);
  return $val;
}

function ValidateDate($dt, $df = _INTL_DateTimeFormat) {
  $dt = htmlspecialchars(htmlentities(strip_tags(trim($dt))));
  if (empty($dt)) return $dt;
  $dt = str_replace(".000", "", str_replace(".000000", "", $dt));
  $val = DateTime::createFromFormat($df, $dt);
  if ( !( $val and $val->format($df) === $dt ) ) return "ERR";
  return $dt;
}
Grazie mille, ho provato a creare la classe pdo come spiegato nel secondo link ma purtroppo ottengo degli errori. Riconttillo il codice è j caso posto l'errore

Grazie ancora
 
Discussioni simili
Autore Titolo Forum Risposte Data
G creazione menu a tendina e invio a pagina php PHP 1
Stefano Migotto Creazione di un div con php o js PHP 9
T [php] problema creazione query select-where PHP 5
Daniele_Carrara [PHP] Creazione Carrello PHP 1
Monital [PHP]Far riconoscere stringa o numerico epr creazione campo tabella PHP 6
K [PHP] Creazione di Calendario con orario PHP 4
Store creazione campo search in php PHP 1
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
A [PHP] Creazione tabelle dinamiche PHP 16
L [PHP] Problema creazione query a numero di parametri variabile PHP 6
Michaelweb93 [PHP] Creazione countdown a 72 ore PHP 1
Michaelweb93 [PHP] [HTML] Creazione offerte - email PHP 8
A Creazione automatica pagina php da id della riga di una tabella PHP 1
loois Ho un problema nella creazione di un sistema di commenti in PHP PHP 11
xone [Offro] Creazione di applicativi in PHP-MYSQL a costi ragionevoli Offerte e Richieste di Lavoro e/o Collaborazione 0
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
C info creazione documenti word in php PHP 0
R [PHP] Software gestione interventi e creazione registro (log) PHP 1
P [PHP] aiuto creazione login PHP 16
CoyotesSon [PHP] Help! Creazione di una finestra PHP 5
C [PHP] Problema con creazione csv PHP 3
S creazione automatica file .php PHP 1
Z creazione modulo e pagina invio php per invio dati al db PHP 2
M [Cerco Lavoro] [Retribuito]Creazione siti web,e-commerce,singoli script php, conversioni psd-html Offerte e Richieste di Lavoro e/o Collaborazione 0
C usare un foglio php per la creazione di un excel: piccolo problema PHP 2
R Aiuto creazione php PHP 0
L [PHP e Javascript] Creazione pagina .php PHP 1
F Creazione lista utenti database con php a oggetti PHP 0
G [risolto] Creazione file excel con PHP PHP 3
D creazione di una login in php PHP 1
D [RISOLTO]domande varie su creazione sito con php, mysql e phpmyadmin PHP 42
M Creazione Framework PHP PHP 3
M [Cerco Lavoro] [Retribuito] Creazione siti web,singoli script php,conversioni psd-html Offerte e Richieste di Lavoro e/o Collaborazione 0
S Creazione layout (era: Creazione tema per sito in php) HTML e CSS 2
G Cerco web master per creazione pagina in PHP Offerte e Richieste di Lavoro e/o Collaborazione 2
D [php - mysql] creazione di tabelle PHP 9
B Problema creazione tabella tramite PHP PHP 12
F creazione e stampa file pdf mediante PHP PHP 2
D creazione e gestione utenti da php 4.0 PHP 2
J CREAZIONE pdf da pagina PHP PHP 1
B Creazione Sito in PHP PHP 1
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2

Discussioni simili