-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate.php
More file actions
117 lines (105 loc) · 4.26 KB
/
create.php
File metadata and controls
117 lines (105 loc) · 4.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
// Inclure le fichier config
require_once "config.php";
// Definir les variables
$nom = $ecole = $age = "";
$name_err = $ecole_err = $age_err = "";
// Traitement
if($_SERVER["REQUEST_METHOD"] == "POST"){
// Validate name
$input_name = trim($_POST["nom"]);
if(empty($input_name)){
$name_err = "Veillez entrez un nom.";
} elseif(!filter_var($input_name, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z\s]+$/")))){
$name_err = "Veillez entrez a valid name.";
} else{
$nom = $input_name;
}
// Validate ecole
$input_ecole = trim($_POST["ecole"]);
if(empty($input_ecole)){
$ecole_err = "Veillez entrez une ecole.";
} else{
$ecole = $input_ecole;
}
// Validate age
$input_age = trim($_POST["age"]);
if(empty($input_age)){
$age_err = "Veillez entrez l'age.";
} elseif(!ctype_digit($input_age)){
$age_err = "Veillez entrez une valeur positive.";
} else{
$age = $input_age;
}
// verifiez les erreurs avant enregistrement
if(empty($name_err) && empty($ecole_err) && empty($age_err)){
// Prepare an insert statement
$sql = "INSERT INTO students (nom, ecole, age) VALUES (?, ?, ?)";
if($stmt = mysqli_prepare($link, $sql)){
// Bind les variables à la requette preparée
mysqli_stmt_bind_param($stmt, "ssd", $param_nom, $param_ecole, $param_age);
// Set parameters
$param_nom = $nom;
$param_ecole = $ecole;
$param_age = $age;
// executer la requette
if(mysqli_stmt_execute($stmt)){
// opération effectuée, retour
header("location: index.php");
exit();
} else{
echo "Oops! une erreur est survenue.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($link);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Create Record</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<style>
.wrapper{
width: 700px;
margin: 0 auto;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<h2 class="mt-5">Créer un enregistrement</h2>
<p>Remplir le formulaire pour enregistrer l'étudiant dans la base de données</p>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="form-group">
<label>Nom</label>
<input type="text" name="nom" class="form-control <?php echo (!empty($name_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $nom; ?>">
<span class="invalid-feedback"><?php echo $name_err;?></span>
</div>
<div class="form-group">
<label>Ecole</label>
<textarea name="ecole" class="form-control <?php echo (!empty($ecole_err)) ? 'is-invalid' : ''; ?>"><?php echo $ecole; ?></textarea>
<span class="invalid-feedback"><?php echo $ecole_err;?></span>
</div>
<div class="form-group">
<label>Age</label>
<input type="number" name="age" class="form-control <?php echo (!empty($age_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $age; ?>">
<span class="invalid-feedback"><?php echo $age_err;?></span>
</div>
<input type="submit" class="btn btn-primary" value="Enregistrer">
<a href="index.php" class="btn btn-secondary ml-2">Annuler</a>
</form>
</div>
</div>
</div>
</div>
</body>
</html>