Je suis un tuto https://www.primfx.com/forum/programmat ... letter-530 pour créer une newletter.
Je veux utiliser une classe pdo de connexion mais j'ai quelque problème
Code : Tout sélectionner
<!DOCTYPE html>
<html>
<head>
<title>New Letter</title>
</head>
<body>
<?php
session_start();
include_once('SPDO.class.php');
$bdd = SPDO::getInstance();
$info = $bdd->prepare('SELECT * FROM newsletter WHERE id = ?');
$info->execute(array($_SERVER['REMOTE_ADDR']));
$newsletterexist = $info->rowCount();
?>
<?php
if($newsletterexist == 0)
{
?>
<form method="POST">
<label>Adresse e-mail</label><br />
<input type="email" name="newsletter" /><br /><br />
<input type="submit" name="newsletterform" value="Envoyer"/>
</form>
<?php
}
else
{
?>
<label>Adresse e-mail</label><br />
<input type="email" name="newsletter" disabled/><br /><br />
<?php
while($news = $reqnewsletter->fetch())
{
?>
<a href="?deinscription=<?= $news['id'] ?>">Me déinscrire de la Newsletter</a>
<?php
}
?>
<?php
}
?>
</body>
</html>
Code : Tout sélectionner
<?php
class SPDO
{
/**
* Instance of SPDO
*
* @var PDO
* @access private
*/
private $PDOInstance = null;
/**
* Instance of SPDO
*
* @var SPDO
* @access private
* @static
*/
private static $instance = null;
/**
* Constante: user name of database
*
* @var string
*/
const DEFAULT_SQL_USER = 'root';
/**
* Constante: host database
*
* @var string
*/
const DEFAULT_SQL_HOST = 'localhost';
/**
* Constante: password host
*
* @var string
*/
const DEFAULT_SQL_PASS = '';
/**
* Constante: databasename
*
* @var string
*/
const DEFAULT_SQL_DTB = 'newletter';
/**
* Constructeur
*
* @param void
* @return void
* @see PDO::__construct()
* @access private
*/
private function __construct()
{
$this->PDOInstance = new PDO('mysql:dbname='.self::DEFAULT_SQL_DTB.';host='.self::DEFAULT_SQL_HOST,self::DEFAULT_SQL_USER ,self::DEFAULT_SQL_PASS);
}
/**
* make and return object spo instance
*
* @access public
* @static
* @param void
* @return SPDO $instance
*/
public static function getInstance()
{
if(is_null(self::$instance))
{
self::$instance = new SPDO();
}
return self::$instance;
}
}
?>
Code : Tout sélectionner
atal error: Call to undefined method SPDO::prepare() in C:\wamp64\www\newletter\newletter.view.php on line 11Je vous remercie pour votre aide bonne journée.