J'ai un problème qui est quand j'essaie d'insérer la valeur de l'obtention ["ID"], je reçois toujours un 0 même lorsque j'imprime l'identifiant! Je peux le voir.
Upload.php:
Bonjour,
J'ai un problème qui est quand j'essaie d'insérer la valeur de l'obtention ['ID'], je reçois toujours un 0 même lorsque j'imprime l'ID! Je peux le voir.
Upload.php: et mon SQL: p> une photo de la base de données p> J'ai essayé d'utiliser ce lien: p>
p>
3 Réponses :
Lorsque vous postez sur upload.php, vous perdez les paramètres d'obtention. Après cela, vous avez lancé le $ _GET ['ID'] (chaîne vide) à (int) et PHP le définit à 0.
<input type="hidden" name="id" value="<?php echo $id; ?>" />
Vous essayez d'insérer une chaîne au lieu d'une valeur INT. Vous devez supprimer les guillemets pour le ID code> comme:
MySQL peut lancer une chaîne à un int.
Utilisez le code suivant, vous devez transmettre l'ID sous le formulaire lors de la soumission.
<?php
include '../include/connect.php';
$id =(int)$_GET['id'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file_img" />
<input type="hidden" name="id" value="<?php echo $id;?>" />
<input type="submit" name="btn_upload" value="Upload">
</form>
<?php
if(isset($_POST['btn_upload']))
{
$filetmp = $_FILES["file_img"]["tmp_name"];
$filename = $_FILES["file_img"]["name"];
$filetype = $_FILES["file_img"]["type"];
$filepath = "photo/".$filename;
$id = $_POST['id'];
move_uploaded_file($filetmp,$filepath);
$sql = "INSERT INTO upload_img (img_name,img_path,img_type,im_id) VALUES ('$filename','$filepath','$filetype','.$id.')";
mysqli_query($con, $sql);
}
?>
</body>
</html>
Notez que votre code est ouvert à injections SQL