Insertion SQL avec des apostrophe de manière automatiser.

Résolu
mister431 Messages postés 56 Date d'inscription jeudi 19 novembre 2020 Statut Membre Dernière intervention 24 juin 2022 - 23 juin 2022 à 11:36
jordane45 Messages postés 37532 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 juin 2023 - 23 juin 2022 à 14:31
Bonjour,

Je crée actuellement sur mon site un coter ou je peut ajouter une image et un texte.
puis qu'il s'affiche de manière automatiser sur une autre page.

mais j'ai un problème les : ' ou encore les , ; crée des bug d'injection sql.
comment je peut automatiser cela sur mon SQL pour que le texte soit rajouter dans la base de donnée merci d'avance ^^




<!DOCTYPE html>
<html>
<body>

<h1>Rajouter une Actualité</h1>
<title>une Actualité Ajouter</title>

<meta charset ="utf-8">
<form  method="POST" action="index.php?page=ajouter" enctype="multipart/form-data">


<center> <label for="pet-select">Ou souhaiter vous afficher l'information ?</label> 

<select name="base">
    <option value="">----</option>
    <option value="actualite">Actualite</option>
    <option value="info">Information</option>
</select>

<center><label for="avatar">Choisir l'image ou les images</label>

<center> <label for="fileUpload">Fichier:</label>
        <input type="file" name="photo" id="fileUpload">
		
  <center><textarea id="" name="texto" rows="4" cols="80" value=<?php $texto ?>></textarea>
  <br>
  
        <input type="submit" name="submit" value="Upload">
</form>

<?php 



if ((isset($_POST['texto'])) )

                    
						$texto = ($_POST["texto"]);

  

var_dump($_FILES);
if($_SERVER["REQUEST_METHOD"] == "POST"){
    // Vérifie si le fichier a été uploadé sans erreur.
    if(isset($_FILES["photo"]) && $_FILES["photo"]["error"] == 0){
        $allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png");
        $filename = $_FILES["photo"]["name"];
        $filetype = $_FILES["photo"]["type"];
        $filesize = $_FILES["photo"]["size"];
		
		 // Vérifie l'extension du fichier
        $ext = pathinfo($filename, PATHINFO_EXTENSION);
        if(!array_key_exists($ext, $allowed)) die("Erreur : Veuillez sélectionner un format de fichier valide.");

        // Vérifie la taille du fichier - 5Mo maximum
        $maxsize = 5 * 1024 * 1024;
        if($filesize > $maxsize) die("Error: La taille du fichier est supérieure à la limite autorisée.");

        // Vérifie le type MIME du fichier
        if(in_array($filetype, $allowed)){
            // Vérifie si le fichier existe avant de le télécharger.
            if(file_exists("img/" . $_FILES["photo"]["name"])){
                echo $_FILES["photo"]["name"] . " existe déjà.";
            } else{
                move_uploaded_file($_FILES["photo"]["tmp_name"], "img/" . $_FILES["photo"]["name"]);
                echo "Votre fichier a été téléchargé avec succès.";
            } 
        } else{
            echo "Error: Il y a eu un problème de téléchargement de votre fichier. Veuillez réessayer."; 
        }
    } else{
        echo "Error: " . $_FILES["photo"]["error"];
    }

$sql = "INSERT INTO `".$_POST["base"]."` (`image`,`texto`) VALUES ('".$_FILES['photo']['name']."','$texto')";
echo $sql;
$stmt = $dbh->query($sql);
}

?>



</body>
</html>


Configuration: Windows / Firefox 101.0

1 réponse

mister431 Messages postés 56 Date d'inscription jeudi 19 novembre 2020 Statut Membre Dernière intervention 24 juin 2022
23 juin 2022 à 12:04
j'ai trouver c'est addslashes
0
jordane45 Messages postés 37532 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 juin 2023 4 585
23 juin 2022 à 14:31
IL y a a mieux....
Si tu utilises PDO ou MYSQLI il faut utiliser les requêtes PREPAREES et surtout .. dès maintenant... oublie l'instruction QUERY.... il ne vaut mieux pas l'utiliser...
0