Làm cách nào để sử dụng hai trong một bảng

lập trình


Tôi chắc chắn hai điều, Nó hiệu quả với giáo sư của tôi nhưng không hiệu quả với tôi và tôi chắc chắn rằng lỗi xuất phát từ phần tiếng vang trong mã bên dưới chứ không phải từ nơi nào khác.

Để bạn có thể tự mình thử mọi thứ, tôi đã cung cấp công việc của mình trong một liên kết http://agencedevoyages.tk/[^]

nhập địa chỉ: abc@gmail.com
và mật khẩu là: 2
hoặc đăng nhập bằng người dùng mới mà bạn chọn.

Mã lỗi:

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>

Những gì tôi đã thử:

– Đóng

trong điều kiện Multiple Deletion echo, không phải trong phần upload khiến mình xóa được nhiều user nhưng không upload được ảnh.
– Điều tương tự cũng xảy ra khi tôi giữ nó cho cả hai.
– Việc xóa

khỏi Multiple delete echo và giữ nó trong điều kiện Uplaod echo khiến mình không thể xóa nhiều người dùng nhưng có thể thay đổi ảnh của người dùng (nghĩa là Upload có tác dụng còn Deletion thì không).
– Việc xóa đã đóng khỏi cả hai điều kiện sẽ khiến MD hoạt động chứ không phải Tải lên.

Vẫn đang cố gắng tìm ra cách để cả hai cùng làm việc cùng một lúc.

Giải pháp 1

Những gì bạn đã thể hiện chắc chắn đã không làm việc cho giáo sư của bạn:

  • Bạn không thể làm tổ <form> các phần tử. Biểu mẫu “tải lên” của bạn không bao giờ bị đóng, vì vậy mỗi biểu mẫu tiếp theo sẽ được lồng trong các biểu mẫu từ các hàng trước đó.
  • MỘT <form> phần tử không thể xuất hiện trực tiếp trong một <tr> yếu tố. Chỉ một <td><th> các phần tử được cho phép trong một <tr> yếu tố.

Để bắt đầu, bạn sẽ cần phải di chuyển <form> yếu tố bên trong các <td> các phần tử và đảm bảo chúng được đóng theo đúng thứ tự.

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

Tuy nhiên, không rõ mục đích sử dụng hộp kiểm của bạn là gì. Nếu bạn muốn gửi ID từ nhiều hàng, thao tác này sẽ không hiệu quả – mỗi biểu mẫu sẽ chỉ chứa hộp kiểm cho hàng riêng của nó.

コメント

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