Fehler "Class PDO nicht gefunden" abrufen [geschlossen]
Ich habe eine einfache "Coming Soon" -Seite, auf der ich abonnierende E-Mails entscheide, die ich in eine MySQL-Datenbank einfügen möchte.
Ich hatte den Code zuvor ausgeführt, aber jetzt, 1-2 Wochen später, scheint es einige Probleme zu geben.
Grundsätzlich sind nur 2 Dateien betroffen:index.html
undsubscribe.php
. index.html
ist die Seite "Coming Soon", und sie ruft aufsubscribe.php
um die E-Mail tatsächlich in die Datenbank einzufügen, sofern es sich um eine gültige E-Mail handelt, es sich nicht um ein Duplikat usw.
Der Code fürsubscribe.php
wird unten angegeben. Es ist wirklich ein sehr einfacher Code.
Tun Sie nicht, dass dies vorher funktioniert hat! In der Zeile, in der das PDO verwendet wird, scheint jetzt jedoch der Fehler "Class PDO not found ..." zu liegen:
<?php
function isValidEmail( $email = null )
{
return preg_match( "/^
[\d\w\/+!=#|$?%{^&}*`'~-]
[\d\w\/\.+!=#|$?%{^&}*`'~-]*@
[A-Z0-9]
[A-Z0-9.-]{0,61}
[A-Z0-9]\.
[A-Z]{2,6}$/ix", $email );
}
try {
// Connect to the SQLite Database.
$db = new PDO('mysql:host=hostnamehere;dbname=dbnamehere', 'usernamehere', 'passwordhere');
} catch(Exception $e) {
die('connection_unsuccessful');
}
/* Check if table exists */
$db->exec('CREATE TABLE IF NOT EXISTS subscribers (email VARCHAR(255), time VARCHAR(255))');
/* Check if email has been posted */
if ( isset($_POST['email']) ) {
/* Validate email */
if ( isValidEmail($_POST['email']) ) {
/* Check for duplication */
$query = $db->prepare('SELECT COUNT(*) AS count FROM subscribers WHERE email = :email');
$query->execute(array(':email' => $_POST['email']));
$result = $query->fetch();
if ( $result['count'] == 0 ) { // E-mail is unique.
$query = $db->prepare('INSERT INTO subscribers (email, time) VALUES (:email, :time)');
$query->execute(array('email' => $_POST['email'], 'time' => date('Y-m-d H:i:s')));
/* Send mail notification */
$to = '[email protected]'; // Email notified of the new subscription
$subject = 'New subscriber';
$message = 'Hi, you have one new subscriber. This is his/her e-mail address: ' . $_POST['email'] . '.';
$headers = "From:" . $_POST['email'];
mail($to,$subject,$message,$headers);
echo 'successful';
} else { // E-mail is already being used.
echo 'already_subscribed';
}
} else {
echo 'invalid_email';
}
}