Ajout

bonjour ,

j'ai un problème avec ma page ajouter article qui permet d'ajouter un article a la base de donnée ,le problème c'est quand je saisi un long text dans le champs texteara il fait pas l'ajout et quand je saisi une seul mot il fait bien l'ajout

voilà le code :
<?php
if(isset($_POST['ajout']))

 {
// Objectif : Enregister l'image
			// On l'enregistre ou ? dans le dossier images !
			$file = substr(getcwd(), 0, -35);
			$file = $file.'..\\..\\assets\\images\\'.basename($_FILES['image']['name']);

			//Upload !
			if (move_uploaded_file($_FILES['image']['tmp_name'], $file)) {
				echo 'Le fichier est valide, et a ete telecharge';
			} else {
				echo 'Attaque potentielle par téléchargement de fichiers';
			}
			
			$fileName = basename($_FILES['image']['name']);

$id="/N";
$tit=$_POST['tit'];
$txt=$_POST['txt'];
$pg=$_POST['pg'];

$req = $dbh->prepare("INSERT INTO article (id_art,titre,text,image,page) VALUES ('$id','$tit','$txt','$fileName','$pg')");
$req->execute();

}

?>

<?php
echo" <form   method='post' action='ajoutearticle.php' class='niceform' enctype='multipart/form-data'>
    <center>

	 
     <table width='100%' border='0' cellspacing='0' cellpadding='5'>  
	 
      <td width='15%'>Titre</td>
        <td width='70%'><input type='text'  name='tit'  value=''</td>
        <td width='15%' >&nbsp;</td></tr>
      <td>&nbsp;</td>
	  
   <tr> <td valign='top'>Text</td>
        <td><textarea name='txt'  cols='60' rows='50' ></textarea></td>
          <td valign='top'>&nbsp;</td>
      </tr> <td>&nbsp;</td>
          
	  <tr> <td valign='top'>Image</td>
						<td>
	<input type='hidden' name=\'max_file_size' value='50000'>
	<input type='file' name='image'><br>
						</td>
						
					</tr>
     
	  <tr> 
		  <td width='15%'> Page</td>
        <td width='70%'><input type='text'  name='pg'  value=''></td>
        <td width='15%' id='errOffset'>&nbsp;</td></tr>
      <td>&nbsp;</td>
           </tr> <td>&nbsp;</td>";
	   
    echo"<td colspan='2'><input type='submit' name='ajout'  value='Ajouter' />
    <input type='reset' name='annuler' id='button2' value='Annuler' />";
    echo" </tr> </table> </fieldset></form> </center>";
  
  
  ?> 

BN:dans la base le champs text de type text

Merci

1 réponse

  1. Bonjour,

    Je n'ai pas regardé le code, mais j'ai deux questions :
    - Est-ce que tu gères le cas où il y a des " ' " dans ton texte ? Car c'est un caractère prit en compte dans les bases de données.

    - Est-ce que ta colonne accepte assez de caractère ? ça fonctionne si tu met "test test1" et "te'st" ?
    0
    1. pour la deuxiéme question oui il accepte plusieurs caractére ,mais pour la premiére je sais pas comment gérer le " ' "
      0
    2. Bonsoir,

      Pour le " ' ", utilisez
      $txt= addslashes($txt); 


      Cordialement,
      0