Comment utiliser deux dans une table

la programmation


Je suis sûr de deux choses : cela a fonctionné pour mon professeur mais pas pour moi, et je suis sûr que l’erreur vient de la partie écho de ce code ci-dessous et non d’un autre endroit.

Pour vous permettre d’essayer les choses vous-même, j’ai fourni mon travail dans un lien http://agencedevoyages.tk/[^]

entrez l’adresse: abc@gmail.com
et le mot de passe est : 2
ou connectez-vous avec un nouvel utilisateur de votre choix.

Code d’erreur:

PHP
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Accueil</title>
</head>
<body>
<?php
if(isset($_SESSION['email']) AND isset($_SESSION['password']))
{
echo "<b>Bienvenue ".$_SESSION['prenom']." ".$_SESSION['nom']." !";
echo "<div align='right'><a align='right' href='deconnect.php'><button type='button'>Se déconnecter</button></a></div>";
?>
<table border="1" align="center">
<caption><b><h1>La liste des étudiants</h1></caption>
<tr><td align="center"><b>Photo</td>
<td align="center"><b>Matricule</td>
<td align="center"><b>Nom</td>
<td align="center"><b>Prénom</td>
<td align="center"><b>Adress</td>
<td align="center"><b>Birthday</td>
<td align="center"><b>E-mail</td>
<td align="center" colspan="2"><b>Option</td>
<td align="center"><b>Multiple Deletion</td>
<td align="center"><b>Upload</td></tr>
<?php
include 'connect.php';
$sql = "SELECT * FROM etudiant";
$res = mysqli_query($connect, $sql);
if (mysqli_num_rows($res)>0){
while($row = mysqli_fetch_assoc($res))
{
echo "<tr><td>";
?>
<?php
if(empty($row['photo']))
{
?>
<img src='photos/image.jpg' width="100" height="100">
<?php
}
else
{
?>
<img src='photos/<?php echo $row['photo'] ?>' width="100" height="100">
<?php
}
echo "</td>";
echo "<td align='center'>".$row['matricule']."</td>";
echo "<td align='center'>".$row['nom']."</td>";
echo "<td align='center'>".$row['prenom']."</td>";
echo "<td align='center'>".$row['adresse']."</td>";
echo "<td align='center'>".$row['date_naissance']."</td>";
echo "<td align='center'>".$row['email']."</td>";
if($_SESSION['email']==$row['email'] OR $_SESSION['email']=='abc@gmail.com')
{
echo "<td><a href='modif.php?id=".$row['id']."'><button type='button'>Edit</button></a></td>";
echo "<td><a href='supp.php?id=".$row['id']."'><button type='button'>Delete</button></a></td>";

// error part 
echo "<form method='post' action='supp3.php'><td align='center'><input type='checkbox' name='sup[]' value='".$row['id']."'></td></form>";
echo "<form method='post' action='upload.php' enctype='multipart/form-data'><td align='center'><input type='file' name='fichier'><input type='submit' value='Confirm'></td><input type='hidden' name='id' value='".$row['id']."'></td></tr>";
}
}
echo "<tr><td colspan='9'></td><td colspan='1' align='center'><button>Multiple Deletion</button></td></tr></form>";
}
//end of error part

else
{
echo "<tr><td colspan ='10' align='center'>No users.</td></tr>";
$sql = "TRUNCATE etudiant";
$res = mysqli_query($connect, $sql);
}
?>
</table>
<p align="center"><a href="ajout.php"><button>Add a user</button></a></p>
<?php
}
else
{
echo "<div align='center'><b><h1>Not allowed.";
echo "<br><a href='index.php'><button type='button'>Back</button></a></div>";
}
?>
</body>
</html>

Ce que j’ai essayé :

– La fermeture < / form > dans la condition d’écho de suppression multiple, et non dans celle de téléchargement, me permet de supprimer plusieurs utilisateurs mais ne peut pas télécharger de photos.
– La même chose arrive quand je le garde pour les deux.
– Supprimer < / form > de l’écho de suppression multiple et le conserver dans la condition d’écho Uplaod m’empêche de supprimer plusieurs utilisateurs, mais je peux modifier l’image de l’utilisateur (ce qui signifie que le téléchargement fonctionne et que la suppression ne fonctionne pas).
– La suppression du < / form > fermé des deux conditions fait fonctionner MD et non Upload.

J’essaie toujours de trouver un moyen de les faire travailler tous les deux en même temps.

Solution 1

Ce que tu as montré certainement n’a pas travailler pour votre professeur :

  • Vous ne pouvez pas imbriquer <form> éléments. Votre formulaire de « téléchargement » n’est jamais fermé, donc chaque formulaire suivant est imbriqué dans les formulaires des lignes précédentes.
  • UN <form> l’élément ne peut pas apparaître directement dans un <tr> élément. Seulement <td> et <th> les éléments sont autorisés dans un <tr> élément.

Pour commencer, vous devrez déplacer le <form> éléments à l’intérieur le <td> éléments et assurez-vous qu’ils sont fermés dans le bon ordre.

HTML
<td><form> ... </form></td>

Cependant, ce que votre case à cocher est censée faire n’est pas clair. Si vous souhaitez soumettre l’ID de plusieurs lignes, cela ne fonctionnera pas : chaque formulaire ne contiendra que la case à cocher pour sa propre ligne.

コメント

タイトルとURLをコピーしました