Parse error in C:\...... on line (derniere)

Résolu
Bonjour,
je debute en php et j'ai réalisé ce petit bout de code d'authentification, mais j'ai toujour un message d'erreur : (Parse error: parse error in C:\wamp\...\connect.php on line derniere )

voila mon code:
<?php

if (empty($_POST['login']) OR empty($_POST['pass']) )
{?>
    	<script>alert('Vous avez oubliez de remplir un champs, merci de recommencer');</script>
		<script>document.location.href = "administration.html"; </script><?
}

else if (isset($_POST['login']) AND isset($_POST['pass']) )
{
include ('connexion.php');

$res = mysql_query("select * from administrateur") or die (mysql_error());
while ($donnees = mysql_fetch_array($res))
{
	if ($_POST['login'] == $donnees['nom_admin'] and $_POST['pass'] == $donnees['pass_admin'])
	{	
		session_start();
		$_SESSION['login'] = $_POST['login'];
		?>
    	<script>alert('Vous etes bien logué, vous etes administrateur');</script>
		<script>document.location.href = "administration.html"; </script><?
	}
	else
	{	?>
    	<script>alert('Mauvais login / Mot de passe, merci de recommencer');</script>
		<script>document.location.href = "login.html"; </script><?	
	}
}
}
?>


2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    ton probleme est simple:

    quand tu ferme ta balise php, essaye de la ré-ouvrir avec <?php et non pas juste <?. De plus tu n'a pas besoin de la fermer. Tu as donc deux solution:

    soit tu ne la ferme pas:

    <?php
    
        if (empty($_POST['login']) OR empty($_POST['pass']) )
        {
                alert('Vous avez oubliez de remplir un champs, merci de recommencer');
                document.location.href = "administration.html";
        }
        else if (isset($_POST['login']) AND isset($_POST['pass']) )
        {
            include ('connexion.php');
    
            $res = mysql_query("select * from administrateur") or die (mysql_error());
            while ($donnees = mysql_fetch_array($res))
            {
                if ($_POST['login'] == $donnees['nom_admin'] and $_POST['pass'] == $donnees['pass_admin'])
                {    
                    session_start();
                    $_SESSION['login'] = $_POST['login'];
                    alert('Vous etes bien logué, vous etes administrateur');
                    document.location.href = "administration.html";
                }
                else
                {
                    alert('Mauvais login / Mot de passe, merci de recommencer');
                    document.location.href = "login.html";
                }
            }
        }
    ?>


    soit tu la réouvre "correctement":

    <?php
        if (empty($_POST['login']) OR empty($_POST['pass']) )
        {?>
                <script>alert('Vous avez oubliez de remplir un champs, merci de recommencer');</script>
                <script>document.location.href = "administration.html"; </script><?php
        }
    
        else if (isset($_POST['login']) AND isset($_POST['pass']) )
        {
            include ('connexion.php');
            $res = mysql_query("select * from administrateur") or die (mysql_error());
            while ($donnees = mysql_fetch_array($res))
            {
                if ($_POST['login'] == $donnees['nom_admin'] and $_POST['pass'] == $donnees['pass_admin'])
                {    
                    session_start();
                    $_SESSION['login'] = $_POST['login'];
                    ?>
                    <script>alert('Vous etes bien logué, vous etes administrateur');</script>
                    <script>document.location.href = "administration.html"; </script><?php
                }
                else
                {    ?>
                    <script>alert('Mauvais login / Mot de passe, merci de recommencer');</script>
                    <script>document.location.href = "login.html"; </script><?php
                }
            }
        }
    ?>
    1. désolé mais j'ai un autre probleme, ça me permet de me loguer juste par le premier admin dans la base de données, les autre admin ne marchent pas ???
    2. ça doit être une erreur toute bête dans ta base de données:

      - vérifie que les autre admin sont bien enregistré dans la base de données
      - fait des echo sur les retour de tes requêtes et sur les POST afin de voir a quel moment viens l'erreur
  2. merci beaucoup varfendell , la deuxième solution marche sur des roues. Merci encore :)