Soucis de validité en admin

Eléphant du PHP | 372 Messages

05 mars 2014, 13:31

Bonjour,
Voilà j'ai créer une page admin afin de pouvoir contrôler la validité de mes annonces.
J'ai une table nommé :loisirs dans une colone nommé: valide de type tinyint qui par defaut vaut 0.
Mon but est tout simplement de passé cette valeur de 0 a 1. car 0= Hors ligne et 1= En ligne ainsi je ne passe plus par PHPMYADMIN.
Voici mon formulaire pour ceçi, Enfait tout marche car j'ai bien le message comme quoi l'annonce à était modifier mais en base de donnée la valeur reste inchangé.
Je sollicite votre aide de ce fait.
<?php
	if($_REQUEST["titre"]!=""){
		$valide = addslashes($_REQUEST["valide"]);
		$id = $_REQUEST["idloisirs"];

		
		$reqMod = "UPDATE projets SET  valide = '" . $valide  . "' WHERE id_loisirs = " . $id;

		//echo $reqMod;
		$resMod =  mysql_query($reqMod);

			echo"annonce modifiée";
			?>
            <script language="javascript">
				function ferme(){
					window.close();
				}
				opener.location.reload();
				setTimeout("ferme()",1000);
			</script>
			<?php
		
	}else{
		$reqRef = "select * from loisirs where id_loisirs= ". $_REQUEST["idloisirs"];
		$resRef = mysql_query($reqRef);
		$rowsRef = mysql_fetch_array($resRef);

?>

<div id="global">
	
    <!-- main -->
    <div id="main">
    	<!-- main gauche -->
        <div id="gauche-admin">
           
           <table cellpadding="10" cellspacing="10" border="0" width="800" class="popup" align="center">
<form action="modifRef.php" method="post" enctype="multipart/form-data">

 
	<tr>
    	<th align="left" colspan="2">Modifier la validité de l'annonce <span class="obligatoire">*</span> : <br />
        <input type="text" name="titre" value="<?php echo $rowsRef["valide"];?>" /></th>
    </tr> 
    
     <tr>
        <td colspan="2" align="left"><input type="submit" value="Modifiez" /></td>
    </tr>
   
     
    <input type="hidden" value="<?php echo $_REQUEST["idloisirs"]; ?>" name="idloisirs" />
</form>
</table>

        </div> 
        <!-- Fin main gauche -->
    </div>
    <!-- Fin main -->
</div>
<!--Fin Structure globale -->
<?php
	}//fin if vide

?>
</body>
</html>
<?php
	}
?>

ViPHP
xTG
ViPHP | 7331 Messages

05 mars 2014, 14:21

Pour debugguer et trouver le problème :
- désactiver le script Javascript
- faire un echo de la variable $reqMod
- afficher le retour de mysql_error() après le mysql_query()

Mammouth du PHP | 504 Messages

05 mars 2014, 22:23

Bsr,

De meme, je commencerai par faire des un code dans le bon ordre, exemple.
<th align="left" colspan="2">Modifier la validité de l'annonce <span class="obligatoire">*</span> : <br />
        <input type="text" name="titre" value="<?php echo $rowsRef["valide"];?>" /></th>
    </tr> 
    
     <tr>
        <td colspan="2" align="left"><input type="submit" value="Modifiez" /></td>
    </tr>
   
     
    <input type="hidden" value="<?php echo $_REQUEST["idloisirs"]; ?>" name="idloisirs" />
</form>
Le submit valide ton envoi de formulaire un fois toutes les données traités donc par logique je le met toujours juste avant de fermé le formulaire. (ce serait dommage d'oublier une valeur comme ton "hidden".
<th align="left" colspan="2">Modifier la validité de l'annonce <span class="obligatoire">*</span> : <br />
        <input type="text" name="titre" value="<?php echo $rowsRef["valide"];?>" /></th>
    </tr> 
    <input type="hidden" value="<?php echo $_REQUEST["idloisirs"]; ?>" name="idloisirs" />
     <tr>
        <td colspan="2" align="left"><input type="submit" value="Modifiez" /></td>
    </tr>
</form>

Eléphant du PHP | 372 Messages

05 mars 2014, 23:12

Merci de remettre ça en place, mais le problème reste le même impossible de modifier la table
si il y a une autre solution je suis preneur, je desepsere :/

nriem
Invité n'ayant pas de compte PHPfrance

06 mars 2014, 00:07

bonjour,

si j'ai bien compris, tu veux pouvoir activer une annonce,
il suffit de vérifier que tu reçois bien les bon paramètre (_GET) dans l'URL,
faire un SELECT pour vérifier si l'id de l'URL existe bien dans la base de données
et après modifier ta colonne VALIDE en 1
$req = $bdd->prepare('UPDATE loisirs SET valide= :valide WHERE id = :id');
$req->execute(array('active' => 1, 'id' => $id));

Eléphant du PHP | 372 Messages

06 mars 2014, 21:57

Ok mais comment fair activer cette annonce via un bouton du genre onclik. Dsl mais je suis un peu perdu la. Merci

Mammouth du PHP | 504 Messages

06 mars 2014, 22:16

Slt,

En ajax, c'est possible.

Ajax avec une methode get ou post, et un formulaire qui envoi les données sur une page php qui traite tes données.

ViPHP
xTG
ViPHP | 7331 Messages

07 mars 2014, 10:55

Avant de sauter du coq à l'âne commences par avoir un script basique mais qui fonctionne...
Pour debugguer et trouver le problème :
- désactiver le script Javascript
- faire un echo de la variable $reqMod
- afficher le retour de mysql_error() après le mysql_query()