Bonjour,

J'aimerais savoir comment faire pour assembler deux fichiers.
1 en HTML l'autre en PHP.

Mon premier fichier est le suivant :
reboot.html

<html>
<head>
<title>Reboot</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<p style="font-size:2.25em;color:red;text-align: center">Vous êtes sûr de vouloir redémarer ?</p>
<body bgcolor="#FFFFFF">
<form method="post" action="192.168.0.1.php">
<p style="text-align: center"><input type="submit" name="reponse" value="Oui" style="padding:50">                <input type="submit" name="reponse" value="Non" style="padding:50">

</form>
</body>
</html>

Mon deuxieme ficher :
192.168.0.1.php

<?php
$reponse=$_POST['reponse'];

if($reponse=="Oui") {

$ecran = basename($_SERVER['PHP_SELF'],'.php');
exec("Ecrans.bat ". $ecran);
echo '<p style="font-size:2.25em;color:red;text-align: center">Redémarrage en cour</p>';

}
else {

header('Location: index.php');

}
?> 

Dans l'état actuel tout fonction.
Mais j'aimerais avoir seulement un seul fichier avec les deux scripts.
Est-ce possible?

Merci d'avance

11 réponses


Quelqu'un pour m'aider?

Bonjour.
tu ajoutes ton html à la fin du fichier php
mais pour ton php. il faudrait tester que $_POST ne soit pas vide avant de faire la suite du php sinon tu auras une belle erreur

Quand je met mon html en fin de mon php. il ne me lance rien du tout, comme si le fichier était vide.

code de ton essai ?

<html>
<head>
<title>Reboot</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<p style="font-size:2.25em;color:red;text-align: center">Vous êtes sûr de vouloir redémarer ?</p>
<body bgcolor="#FFFFFF">
<p style="text-align: center"><input type="submit" name="reponse" value="Oui" style="padding:50">                <input type="submit" name="reponse" value="Non" style="padding:50">

</form>
</body>
</html>
<?php
$reponse=$_POST['reponse'];

if($reponse=="Oui") {

$ecran = basename($_SERVER['PHP_SELF'],'.php');
exec("Ecrans.bat ". $ecran);
echo '<p style="font-size:2.25em;color:red;text-align: center">Redémarrage en cour</p>';

}
else {

header('Location: index.php');

}
?> 

qu'est ce que tu ne comprends pas dans "tu ajoutes ton html à la fin du fichier php" ?
tu as ajouté le html en début......
Et tu ne test pas si le formulaire a été soumis avec un isset($_POST['reponse'])
Il ne faut pas lire qu'à moitié

Désoler je n'est pas les yeux en face des trous :)

<?php
if(isset($_POST['reponse'])){
$reponse=$_request['reponse'];

if($reponse=="Oui")
{

exec("test.bat"); 

}
else 
{

header("location:".  $_SERVER['HTTP_REFERER']);

}
}
?> 
<html>
<head>
<title>Reboot</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<p style="font-size:2.25em;color:red;text-align: center">Vous êtes sûr de vouloir redémarer ?</p>
<body bgcolor="#FFFFFF">
<p style="text-align: center"><input type="submit" name="reponse" value="Oui" style="padding:50">                <input type="submit" name="reponse" value="Non" style="padding:50">

</form>
</body>
</html>

Maintenant il m'affiche mon html.
Mais il ne m'execute rien quand je clique sur le bouton oui ou non.

Merci d'avance

oui veux que tu as enlever la partie la plus importante du formulaire...

<?php
if(isset($_POST['reponse'])){
$reponse=$_POST['reponse'];

if($reponse=="Oui")
{

exec("test.bat"); 

}
else 
{

header("location:".  $_SERVER['HTTP_REFERER']);

}
}
?> 
<html>
<head>
<title>Reboot</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<p style="font-size:2.25em;color:red;text-align: center">Vous êtes sûr de vouloir redémarer ?</p>
<body bgcolor="#FFFFFF">

<p style="text-align: center"><input type="submit" name="reponse" value="Oui" style="padding:50">                <input type="submit" name="reponse" value="Non" style="padding:50">
<form method="post">
</form>
</body>
</html>

Quand je dis que je n'est pas les yeux en face des trous.......
Maintenant il cherche , sans lancer mon .bat

oui bah la va te coucher car tu fais n'importe quoi, et reprends ton 1er code avec le formulaire et revois le cours

Bonjour.
Même ton code HTML du début était déjà incorrect, dans l'ordre des choses, la première balise HTML à placer après la balise head, est la balise body et non comme actuellement la balise p.
Donc:

  • body
    • p
    • form
      • (contenu du formulaire)