Probléme pour garder la valeur d'un champ vide

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probléme pour garder la valeur d'un champ vide

par mrarobaz » 04 oct. 2008, 12:19

Merci beacoups sadeq


Pour ton aide ça fonction a merveille :D c'est vrai qu'une fois que tu me fait la remarque pour
// Si le champ est vide on garde la valeur de la base de donnée 
        !empty($script_dl) ? $sql.=",script_dl='".$script_dl."'" : "";
Je manque d'inatention et de logique

Encore merci pour ton aide . A bientôt

par sadeq » 04 oct. 2008, 03:35

Je t'ai simplement dis de déplacer la ligne et de la placer après le if et non de modifier la condition. juste un couper/coller.

Et en même temps (j'y pense maintenant) modifier cette ligne :
        // Si le champ est vide on garde la valeur de la base de donnée
        !empty($_POST['script_dl'])?"":$sql.=",script_dl='".$script_dl."'";
par :
         // Si le champ est vide on garde la valeur de la base de donnée
        !empty($script_dl) ? $sql.=",script_dl='".$script_dl."'" : "";
Car tu l'as inversé.

Voici la correction du script entier :
<?php
if (isset($_SESSION['connected']) && isset($_POST['script_id'])){
    require_once('includes/connect.inc.php');
    if (isset($_POST['action']) && $_POST['action']=='Modifier le script'){
      
        //condition en cas de nouvelle upload pour un fichier
        if (isset($_FILES)){

        //VARIABLE  de récuperation d'une valeur script_dl = lien de téléchargement
        $script_dl=$_POST['script_dl']; 
  
        
        //Les format d'extension autorisée
            $formats_valides=array("rar","zip");
            $file_parts=pathinfo($_FILES['script_dl']['name']);
            
        if (in_array(strtolower($file_parts['extension']),$formats_valides)){
        
        // adresse de l'upload
                $script_dl="uploads/script/".$_FILES['script_dl']['name'];
                move_uploaded_file($_FILES['script_dl']['tmp_name'],$script_dl);
            }
        }
        
        
        // SI l'insertion des modifications a fonctionner
        $sql="update script set script_titre='".addslashes($_POST['script_titre'])."',script_resumer='".nl2br(addslashes($_POST['script_resumer']))."'";
        
        // Si le champ est vide on garde la valeur de la base de donnée
        !empty($script_dl) ? $sql.=",script_dl='".$script_dl."'" : "";

        $sql.=",date='".date('Y-m-d H:i:s')."', script_cat='".$_POST['script_cat']."', script_sous_cat='".$_POST['script_sous_cat']."' where script_id='".$_POST['script_id']."'";
        
        // on affiche les erreurs
        mysql_query($sql,$connect) or die(mysql_error()) ;
        
        
        echo "<script>document.location.href='accueil.php?page=historique&cat=script'</script>";
     }
        else{
        $sql="select * from script where script_id='".$_POST['script_id']."' ORDER BY script_cat ASC";
        $query=mysql_query($sql,$connect) or die(mysql_error());
        $data=mysql_fetch_array($query);

    $script_dl = $_POST['script_dl'];        ?>
    
<fieldset>
    <legend>Modification d'un script</legend>
    
    <!--//Formulaire modification-->
    
    <form action="accueil.php?page=modifier&cat=script" enctype="multipart/form-data" method="post">
    
        <input type="hidden" name="script_id" value="<?php echo $data['script_id']; ?>" >
        
        <!-- champ titre / champ = script_titre -->
        <p><label for="titre">Titre:</label>
        <input type="text" name="script_titre" id="script_titre" value="<?php echo stripslashes($data['script_titre']); ?>" ></p>
        
        <!-- champ pour uploader le fichier sur le ftp / champ = script_dl -->
        <p><label for="fichier">fichier à télecherger:</label>
        <input type="file" name="script_dl" id="script_dl" value="<?php echo $script_dl; ?>"></p>
        <p><?php echo $script_dl; ?></p>
        
        <!-- champ catégorie / champ = script_cat -->    
        <p><label for="script_cat">Catégorie:</label>
        <select name="script_cat" id="script_cat" >
        <?php
            $script_cats=array("PHP","HTML","JAVASCRIPT");
            foreach ($script_cats as $script_cat){
                $etat="";
                if ($script_cat==$date['script_cat'])
                    $etat="selected";
                echo "<option ".$etat.">".$script_cat."</option>";
            }
        ?>
            </select></p>
            
        <!-- champ sous catégorie / champ = script_sous_cat -->        
        <p><label for="script_sous_cat">Sous catégorie:</label>
        <select name="script_sous_cat" id="script_sous_cat">
        <?php
            $script_sous_cats=array("Administration BDD","Agenda / Calendrier","Annuaire de liens","Audio","Authentification","Bannières","Cartes Postales","Chat","Clients Mail","Commentaires","Compteurs","Convertisseurs","Dates / Heures","Divers","Formulaires / Email","Forums","Galeries / Images","Gestion","Gestion de fichiers / FTP ","Groupware","ICQ","Jeux / Détente","Livres d'or","MailingList / NewsLetter ","Messageries internes","News","Recommander un site","Sondage / Vote","Statistiques","Top Sites","Vidéo");
            foreach ($script_sous_cats as $script_sous_cat){
                $etat="";
                if ($script_sous_cat==$date['script_sous_cat'])
                    $etat="selected";
                echo "<option ".$etat.">".$script_sous_cat."</option>";
            }
        ?>        
        </select></p>
        
        <!-- champ resumer, description / champ = script_resumer -->    
        <p><label for="script_resumer">Resumé:</label>
        <textarea name="script_resumer" id="script_resumer"><?php echo stripslashes($data['script_resumer']); ?></textarea></p>
        
        <!-- champ submit pour l'envoie du formulaire -->    
        <p><label for="action">&nbsp;</label>
        <input type="submit" name="action" id="action" value="Modifier le script" ></p>
        
    </form>
</fieldset>
<!-- Fin du formulaire -->

<?php } }else {?>
<script>document.location.href='../index.php'</script>
<?php } ?> 

par mrarobaz » 04 oct. 2008, 02:31

Désoler je viens d'essayer mais ça marche pas ! :(

j'ai essayer :
if (isset($script_dl)){
if (isset($script_dl=$_POST['script_dl'])){
if ($script_dl=$_POST['script_dl']){
if ($script_dl){
il m'ajoute même plus une nodification ou alors des erreur a cause =

Désoler je sais pas si mon champs imput et bien renseigner et si ma requete select et bien aussi
Si non merci de vos reponse

par sadeq » 04 oct. 2008, 02:12

Il faut déplacer cette ligne
    //VARIABLE  de récuperation d'une valeur script_dl = lien de téléchargement
    $script_dl=$_POST['script_dl'];  
dans le if de la condition :
        //condition en cas de nouvelle upload pour un fichier
        if (isset($_FILES)){
  
Comme ça : $script_dl reste vide si $_FILES n'est pas envoyé.
et du coup l'instruction :
       // Si le champ est vide on garde la valeur de la base de donnée
        !empty($_POST['script_dl'])?"":$sql.=",script_dl='".$script_dl."'";
empêchera la mise à jour du champ script_dl de la base.

Probléme pour garder la valeur d'un champ vide

par mrarobaz » 04 oct. 2008, 01:49

Bonjour,

Voilà j'aurais besoin d'aide pour me dire comment faire avec mon formulaire de modification d'upload
j'aimerai pouvoir garder la valeur de mon champ upload qui est dans la table si le champ de mon formulaire n'est pas renseigner .

Donc en gros : Si [ le champs $_FILES est vide on garde ma valeur du champ qui est dans la base.

Merci d'avance pour votre aide
<?php
if (isset($_SESSION['connected']) && isset($_POST['script_id'])){
	require_once('includes/connect.inc.php');
	if (isset($_POST['action']) && $_POST['action']=='Modifier le script'){
	
	//VARIABLE  de récuperation d'une valeur script_dl = lien de téléchargement
	$script_dl=$_POST['script_dl']; 
	
		//condition en cas de nouvelle upload pour un fichier
		if (isset($_FILES)){
		
		//Les format d'extension autorisée
			$formats_valides=array("rar","zip");
			$file_parts=pathinfo($_FILES['script_dl']['name']);
			
		if (in_array(strtolower($file_parts['extension']),$formats_valides)){
		
		// adresse de l'upload
				$script_dl="uploads/script/".$_FILES['script_dl']['name'];
				move_uploaded_file($_FILES['script_dl']['tmp_name'],$script_dl);
			}
		}
		
		
		// SI l'insertion des modifications a fonctionner
		$sql="update script set script_titre='".addslashes($_POST['script_titre'])."',script_resumer='".nl2br(addslashes($_POST['script_resumer']))."'";
		
		// Si le champ est vide on garde la valeur de la base de donnée
		!empty($_POST['script_dl'])?"":$sql.=",script_dl='".$script_dl."'";
		$sql.=",date='".date('Y-m-d H:i:s')."', script_cat='".$_POST['script_cat']."', script_sous_cat='".$_POST['script_sous_cat']."' where script_id='".$_POST['script_id']."'";
		
		// on affiche les erreurs
		mysql_query($sql,$connect) or die(mysql_error()) ;
		
		
		echo "<script>document.location.href='accueil.php?page=historique&cat=script'</script>";
	 }
		else{
		$sql="select * from script where script_id='".$_POST['script_id']."' ORDER BY script_cat ASC";
		$query=mysql_query($sql,$connect) or die(mysql_error());
		$data=mysql_fetch_array($query);

		
		
		
	$script_dl = $_POST['script_dl'];		?>
	
<fieldset>
	<legend>Modification d'un script</legend>
	
	<!--//Formulaire modification-->
	
	<form action="accueil.php?page=modifier&cat=script" enctype="multipart/form-data" method="post">
	
		<input type="hidden" name="script_id" value="<?php echo $data['script_id']; ?>" >
		
		<!-- champ titre / champ = script_titre -->
		<p><label for="titre">Titre:</label>
		<input type="text" name="script_titre" id="script_titre" value="<?php echo stripslashes($data['script_titre']); ?>" ></p>
		
		<!-- champ pour uploader le fichier sur le ftp / champ = script_dl -->
		<p><label for="fichier">fichier à télecherger:</label>
		<input type="file" name="script_dl" id="script_dl" value="<?php echo $script_dl; ?>"></p>
		<p><?php echo $script_dl; ?></p>
		
		<!-- champ catégorie / champ = script_cat -->	
		<p><label for="script_cat">Catégorie:</label>
		<select name="script_cat" id="script_cat" >
		<?php
			$script_cats=array("PHP","HTML","JAVASCRIPT");
			foreach ($script_cats as $script_cat){
				$etat="";
				if ($script_cat==$date['script_cat'])
					$etat="selected";
				echo "<option ".$etat.">".$script_cat."</option>";
			}
		?>
			</select></p>
			
		<!-- champ sous catégorie / champ = script_sous_cat -->		
		<p><label for="script_sous_cat">Sous catégorie:</label>
		<select name="script_sous_cat" id="script_sous_cat">
		<?php
			$script_sous_cats=array("Administration BDD","Agenda / Calendrier","Annuaire de liens","Audio","Authentification","Bannières","Cartes Postales","Chat","Clients Mail","Commentaires","Compteurs","Convertisseurs","Dates / Heures","Divers","Formulaires / Email","Forums","Galeries / Images","Gestion","Gestion de fichiers / FTP ","Groupware","ICQ","Jeux / Détente","Livres d'or","MailingList / NewsLetter ","Messageries internes","News","Recommander un site","Sondage / Vote","Statistiques","Top Sites","Vidéo");
			foreach ($script_sous_cats as $script_sous_cat){
				$etat="";
				if ($script_sous_cat==$date['script_sous_cat'])
					$etat="selected";
				echo "<option ".$etat.">".$script_sous_cat."</option>";
			}
		?>		
		</select></p>
		
		<!-- champ resumer, description / champ = script_resumer -->	
		<p><label for="script_resumer">Resumé:</label>
		<textarea name="script_resumer" id="script_resumer"><?php echo stripslashes($data['script_resumer']); ?></textarea></p>
		
		<!-- champ submit pour l'envoie du formulaire -->	
		<p><label for="action">&nbsp;</label>
		<input type="submit" name="action" id="action" value="Modifier le script" ></p>
		
	</form>
</fieldset>
<!-- Fin du formulaire -->

<?php } }else {?>
<script>document.location.href='../index.php'</script>
<?php } ?>