¿Cómo uso dos en una tabla?

programación


Estoy seguro de dos cosas: funcionó para mi profesor pero no para mí, y estoy seguro de que el error proviene de la parte de eco en este código a continuación, no de otro lugar.

Para que puedas probar cosas tú mismo, te proporcioné mi trabajo en un enlace. http://agencedevoyages.tk/[^]

introduce la dirección: abc@gmail.com
y la contraseña es: 2
o inicia sesión con un nuevo usuario de tu elección.

Código de error:

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>

Lo que he probado:

– Cerrar < / form > en la condición de eco de Eliminación múltiple, y no en la de carga, me permite eliminar varios usuarios pero no puedo cargar imágenes.
– Lo mismo pasa cuando lo guardo para ambos.
– Eliminar < / form > del eco de eliminación múltiple y mantenerlo en la condición de eco de Uplaod me impide eliminar varios usuarios, pero sí puedo cambiar la imagen del usuario (lo que significa que la carga funciona y la eliminación no).
– Quitar el

cerrado de ambas condiciones hace que MD funcione y no se cargue.

Todavía estoy tratando de encontrar una manera de hacer que ambos funcionen al mismo tiempo.

Solución 1

Lo que has demostrado ciertamente no trabajo para tu profesor:

  • no puedes anidar <form> elementos. Su formulario de “carga” nunca se cierra, por lo que cada formulario posterior se anida dentro de los formularios de las filas anteriores.
  • A <form> El elemento no puede aparecer directamente dentro de un <tr> elemento. Solo <td> y <th> Se permiten elementos dentro de un <tr> elemento.

Para empezar, necesitarás mover el <form> elementos adentro el <td> elementos y asegúrese de que estén cerrados en el orden correcto.

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

Sin embargo, no está claro qué debe hacer la casilla de verificación. Si desea enviar el ID de varias filas, esto no funcionará: cada formulario solo contendrá la casilla de verificación de su propia fila.

コメント

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