Insertion SQL avec des apostrophe de manière automatiser.

Résolu
mister431 Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   -
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
A voir également:

1 réponse

mister431 Messages postés 56 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai trouver c'est addslashes
0
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
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