2016-08-25 1 views
-3

Chaque fois que j'essaie d'afficher le site, un message d'erreur s'affiche. Voici le code:Erreur d'analyse: erreur de syntaxe, fin de fichier inattendue pour le code php

<?php 
$server = '127.0.0.1'; 
$username = 'root'; 
$db_name = 'auth'; 

try{ 
    $conn = new PDO("mysql:host=$server;dbname=$database;", $username);} 
    catch(PDOException $e){ 
    die("Connection failed: " . $e->getMessage()); 
    } 

if(!empty($_POST['email']) && !empty($_POST['password'])): 

    // enter the new user in the database 
    $sql = "INSERT INTO users (email, passowrd) VALUES (;email, :password); 
    $stmt = $conn->prepare($sql); 

    $stmt->bindParam':email'],_POST['email']; 
    $stmt->bindParam((':password',password_hash(POST['password'], PASSWORD_BCRYPT)); 

    if($stmt->execute()): 
    die('Success'); 

    endif; 
endif; 

    ?> 

Je n'arrive pas à comprendre pourquoi il est dit que le crochet d'extrémité pour le code php est inattendu.

+2

Erreurs de syntaxe partout. ';' au lieu de ':' sur '; email'. Les '$ _' manquants, les guillemets manquants manquent pour terminer les chaînes. Supports manquants –

Répondre

0

Il existe de nombreuses erreurs de syntaxe dans votre script.

  • dans la chaîne de requête ;email devrait être :email. Aussi la fin guillemet manque

    $sql = "INSERT INTO users (email, passowrd) VALUES (:email, :password)";

                ^^^^    ^^^ 
    
  • Parenthèses est manquant pour bindParam. Aussi $_ manque avant POST

    $stmt->bindParam(':email', $_POST['email']);

       ^^^      ^^^^ 
    
  • Mismatch ( et $_POST questions ci-dessous la déclaration:

    $stmt->bindParam(':password', password_hash($_POST['password'], PASSWORD_BCRYPT));

espère que ce sera clair pour vous.