Bonjour,
je viens de créer un script en PHP (existait en ASP) et ce que je pouvais faire avant en ASP, je ne peux plus le faire en PHP :
code PHP qui marche :
-------- Début de portion I --------
<? // le code
// etc...
if (condition) {
?>
<ma_pagehtml>
<? } else { ?>
-------- Fin de portion I --------
<ma_pagehtml_s'affiche_si_la_condition_n'est_pas_remplie>
<? } ?>
code PHP qui ne marche pas :
<? include("portion1.php")?>
<ma_pagehtml_s'affiche_si_la_condition_n'est_pas_remplie>
<? } ?>
Vous avez compris, je veux remplacer mon code début (portion I) par un include, et là, la page ne marche plus !
Quelqu'un aurait-il une idée ?
Je suis prêt à utiliser fonction(), virtual(), require(), @readfile() etc...
mais surtout pas de echo "<le_code_en_html>";
Et pour ceux qui ont le courage voilà le code en entier :
Le code qui marche en PHP :<? // début portion I
$identification = $_REQUEST[identification];
$deconnect = $_REQUEST[deconnect];
if ($deconnect == "yes") {
$_SESSION['delock'] = "KO" ;
$identification == "nodelocker";
}
if ($identification == "delocker") {
session_start();
$_SESSION['nom'] = $_REQUEST[nom];
$_SESSION['motdepasse'] = $_REQUEST[motdepasse];
$host="localhost";
$user="root";
$pass="";
$base="labase";
$table="latable";
$bdd=@mysql_connect($host,$user,$pass);
@mysql_select_db($base,$bdd);
if (!$bdd)
{
echo"<center><h4><font color=red>Impossible de se connecter à la base de données.</font></h4></center>";
exit;
};
$query="Select nom, motdepasse From $table";
$res=mysql_query($query);
if ($_SESSION['nom'] == "" or $_SESSION['motdepasse'] == "") {
$mess_err = "<font color=red>vous devez entrer un nom et un mot de passe !</font>";
} else {
while($val=mysql_fetch_array($res,$bdd)) {
if(($HTTP_POST_VARS["nom"]==$val["nom"])
&& ($HTTP_POST_VARS["motdepasse"]==$val["motdepasse"])) {
//echo "oui";
$_SESSION['delock'] = "OK" ;
mysql_close();
break;
}}}}
if ($_SESSION['delock'] <> "OK") {
$mess_err = "<font color=red>Erreur d'identification Login/mot de passe !</font>";
?>
<html>
<head>
<title>Identification</title>
<link rel="stylesheet" href="include/style.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="left"><font face="Arial, Helvetica, sans-serif" color="#CC0000"></font> <img src="images/logo_new.gif" width="450" height="106"> <br>
</div>
<table width="50%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr >
<td>
<div align="center"><b><font size="2">>> Veuillez
entrer nom et mot de passe :</font></b></font></div>
</td>
</tr>
<tr >
<td>
<div align="center"><? echo $mess_err; ?></div></td>
</tr>
<tr>
<td>
<form method="POST" action="index.php">
<div align="center">
<center>
<br>
<table width="70%" border="0" cellspacing="4" cellpadding="0">
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><b>Nom
:</b></font></td>
<td><b>
<input type="text" name="nom" size="20" value="">
</b></font></td>
</tr>
<tr>
<td>Mot de passe :</font></b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b><font size="2" color="#FFFFFF">
<input type="password" name="motdepasse" size="20" value="">
</font></b></font></td>
</tr>
<tr>
<td> </td>
<td><font face="Arial, Helvetica, sans-serif"><b><font size="2" color="#FFFFFF">
<input type="hidden" name="identification" size="20" value="delocker">
</font></b></font></td>
</tr>
</table>
</center>
</div>
<div align="center">
<center>
<p>
<input type="submit" value="Envoyer" name="Envoyer">
<input type="reset" value="Effacer" name="B2">
</p>
</center>
</div>
</form>
</td>
</tr>
<tr >
<td>
<div align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Pour
tout problème, contactez l'administrateur du site :</font><font face="Arial, Helvetica, sans-serif" size="1" color="#CCCCCC"> <a href="mailto:pesant06@tiscali.fr">pesant06@tiscali.fr</a></font></div>
</td>
</tr>
</table>
<div align="center"></div>
<p align="center"> </p>
</body>
</html>
<? } else {
//fin portion I
?>
<html>
<head>
<title>Bienvenue sur cette page</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
Et bien voilà :)
</body>
</html>
<? } ?>
ce que je voudrais et qui ne marche pas :<? // début portion I
include("portion1.php");
// fin portion I
?>
<html>
<head>
<title>Bienvenue sur cette page</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
Et bien voilà :)
</body>
</html>
<? } ?>
et mon portion1.php contiendrait le code tronqué de la page qui marche.
En bref,
J'ai un magnifique " Parse error: parse error, unexpected '}' in C:\Inetpub\rshphp\gestion\index.php on line 13"
forcément puisque ma condition s'ouvre dans l'include et se ferme dans la page en cours.
Y'a-til une parade à ce pb ?? MERCIIII !
RECAP :
<? include("page.php");
// s'ouvre dans page.php une condition if (condition) {
?>
<code_html>
<? }
//la condition se termine ici?>
Est-ce possible comme en ASP ??? Merci.