modif vue connection

pull/6/head
mapoint2 1 year ago
parent 76787c26ef
commit 1c0eb1c957

@ -1,6 +1,7 @@
<?php <?php
namespace controleur; namespace controleur;
use model\AdminModel;
use model\ArticleModel; use model\ArticleModel;
class Controleur class Controleur
@ -23,6 +24,9 @@ class Controleur
$this->Reinit(); $this->Reinit();
break; break;
case 'login':
$this->login();;
break;
case 'validationFormulaire': case 'validationFormulaire':
$this->ValidationFormulaire($dVueEreur); $this->ValidationFormulaire($dVueEreur);
break; break;
@ -48,15 +52,35 @@ class Controleur
exit(0); exit(0);
}//fin constructeur }//fin constructeur
public function login(){
global $twig; // nécessaire pour utiliser variables globales
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
$adminModel = new AdminModel();
$admin = $adminModel->connection($username, $password);
if ($admin != null){
$dVue = [
'data' => ArticleModel::getArticles()
];
echo $twig->render('listArticle.html', [
'dVue' => $dVue
]);
}
else{
$this->Reinit();
}
}
}
public function Reinit() public function Reinit()
{ {
global $twig; // nécessaire pour utiliser variables globales global $twig; // nécessaire pour utiliser variables globales
$dVue = [ $dVue = [
'nom' => '',
'age' => 0,
'data' => ArticleModel::getArticles() 'data' => ArticleModel::getArticles()
]; ];
echo $twig->render('listArticle.html', [ echo $twig->render('vuephp1.html', [
'dVue' => $dVue 'dVue' => $dVue
]); ]);
} }

@ -1,105 +1,28 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="fr"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Personne - formulaire</title> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript"> <title>Login</title>
function clearForm(oForm) { </head>
const elements = oForm.elements; <body>
oForm.reset(); <h1>Login</h1>
for (i = 0; i < elements.length; i++) { {% if error %}
field_type = elements[i].type.toLowerCase(); <p style="color: red;">{{ error }}</p>
{% endif %}
switch (field_type) {
case "text": <form action="login" method="post">
case "password": <label for="username">Username:</label>
case "textarea": <input type="text" id="username" name="username" required>
case "hidden":
elements[i].value = ""; <label for="password">Password:</label>
break; <input type="password" id="password" name="password" required>
case "radio": <button type="submit">Login</button>
case "checkbox": </form>
if (elements[i].checked) {
elements[i].checked = false; <a href="listArticle.html">Not a member? Go to Articles</a>
} </body>
break;
case "select-one":
case "select-multi":
elements[i].selectedIndex = -1;
break;
default:
break;
}
}
}
</script>
</head>
<body>
<!-- on vérifie les données provenant du modèle -->
{% if dVue is defined %}
<div align="center">
{% if dVueEreur is defined and dVueEreur|length >0 %}
<h2>ERREUR !!!!!</h2>
{% for value in dVueEreur %}
<p>{{value}}</p>
{% endfor %}
{% endif %}
<h2>Personne - formulaire</h2>
<hr />
<!-- affichage de données provenant du modèle -->
{{dVue.data}}
<form method="post" name="myform" id="myform">
<table>
<tr>
<td>Nom</td>
<td>
<input name="txtNom" value="{{dVue.nom}}" type="text" size="20" />
</td>
</tr>
<tr>
<td>Age</td>
<td>
<input
name="txtAge"
value="{{dVue.age}}"
type="text"
size="3"
required
/>
</td>
</tr>
<tr></tr>
</table>
<table>
<tr>
<td><input type="submit" value="Envoyer" /></td>
<td><input type="reset" value="Rétablir" /></td>
<td>
<input
type="button"
value="Effacer"
onclick="clearForm(this.form);"
/>
</td>
</tr>
</table>
<!-- action !!!!!!!!!! -->
<input type="hidden" name="action" value="validationFormulaire" />
</form>
</div>
{% else %}
<p>Erreur !!<br />utilisation anormale de la vuephp</p>
{% endif %}
<p>
Essayez de mettre du code html dans nom -> Correspond à une attaque de type injection
</p>
</body>
</html> </html>

Loading…
Cancel
Save