J'ai un petit problème checkbox

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 : J'ai un petit problème checkbox

rE

par NiCeMaN29 » 30 avr. 2008, 00:48

Hehehhee

par ouckileou » 29 avr. 2008, 21:52

Mission modération accomplie, l'utilisateur utilise désormais les balises bbcode de façon pertinente ! :D

Re

par niceman29 » 29 avr. 2008, 20:46

UN GROS MERCI setph29 sa marcheeeeeeeeeeeeeeeeeeeeeeee


MERCI !

Re

par Niceman29 » 29 avr. 2008, 20:43

Merci steph29 pour les réponses rapides

Alors steph29 tu me dis comme suit .

Code : Tout sélectionner

echo "<form method=\"post\" action=removesaved.php onSubmit=\"return test(this)\">"; echo "<input type=\"hidden\" name=\"TypeID\" value=".$row['TypeID']." />"; printf(" <input type=\"checkbox\" name=mon_champ[] value=\"ListingID=".$row['ListingID']."\"> <a href='detail.php?fatherID=%s&TypeID=%s&ListingID=%s'>%s</a></input> &nbsp;&nbsp;&nbsp;&nbsp; <br>", $row['FatherID'], $row['TypeID'], $row['ListingID'], $row2['Titre']); } }
echo "<input type=Submit value=ok ></input></form>";


Mais la récupération sur removesaved.php reste la meme ?

par steph29 » 29 avr. 2008, 12:37

deja repondre a la question :wink:

si je comprend ton script, tu veux affiche en fonction d'un typeid, les listingid correspondant.

donc voici comment procede:

Code : Tout sélectionner

recuperation du typid requete pour recuperer les listingid preparation de mon formulaire (<form etc.) on passe en agument a mon formulaire l'idtype (<input type="hidden" name="typeid" value="la_valeur_de_mon_typeid" />) pour chaque element de ma requete { j'affiche ma checkbox avec la bonne valeur (<input type="checkbox" name="mon_champ[]" value="valeur_de_mon_listingid" />) } je ferme mon formulaire (</form>)
ensuite dans ton fichier de traitement il faut controler les champs pour rendre un peu plus secure ton code ;)

donc voila un debut ;) n'hesite pas a nous montrer ce que tu as fait meme si c'est faut.

salut

par NiCeMaN29 » 29 avr. 2008, 12:23

Merci de reponse aussi vite , mais steph29 Comment je peux faire pour reglé le problème , Je suis un peu débutant la dedans ....

par steph29 » 29 avr. 2008, 10:01

ton erreur viens d'ici:
<input type=\"checkbox\"   name=mon_champ[]   value=\"TypeID=".$row['TypeID']."&ListingID=".$row['ListingID']."\">
si tu as fais un echo de ta requete d'update tu comprendrais ton erreur ;)

separe les deux variables

ceci ne me semble pas tres secure comme code: :?
$node->where = "where MemberID = $memberID  and " . $_POST['mon_champ'][$i] . "";
sinon pour t'aider un peu plus tu peux nous donner la requete du $result?
car y a de l'optimisation a faire...

par Truc » 29 avr. 2008, 09:58

Il ne manquerait pas un nom de champ après AND...
$node->where = "where MemberID = $memberID  and " . $_POST['mon_champ'][$i] . "";

par ouckileou » 29 avr. 2008, 09:08

Modération :
NiCeMaN29, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ


Et le debug de ta requête, il donne quoi ?

J'ai un petit problème checkbox

par NiCeMaN29 » 29 avr. 2008, 04:28

Bonjour j'utilise un checkbox avec while ...

Dans mon index.php j'ai ceci
	while( $row = mysql_fetch_assoc($result) ) {
		$sql = sprintf("select * from tt_%s where ID = %s", intval($row['TypeID']), intval($row['ListingID']));
		$result2 = $mysql->exSql($sql) or die($mysql->debugPrint());
		if(mysql_num_rows($result)>0){
			$row2 = mysql_fetch_assoc($result2);


       echo "<form method=\"post\" action=removesaved.php onSubmit=\"return test(this)\">";

            printf("

            <input type=\"checkbox\"   name=mon_champ[]   value=\"TypeID=".$row['TypeID']."&ListingID=".$row['ListingID']."\">

      <a href='detail.php?fatherID=%s&TypeID=%s&ListingID=%s'>%s</a></input> &nbsp;&nbsp;&nbsp;&nbsp;
             <br>", $row['FatherID'], $row['TypeID'], $row['ListingID'], $row2['Titre']);

		}

	}
     echo "<input type=Submit value=ok ></input></form>";
Puis dans removesaved.php

J'ai ceci , c'est suposé quand je clique sur un checkbox sa delete le checkbox selectionnez.
	$memberID = $_SESSION['memberID'];

if (isset($_POST['mon_champ'])) {
   for ($i = 0; $i < count($_POST['mon_champ']); $i++) {





	$node = new sqlNode();
	$node->table = "savedlistings";
	$node->where = "where MemberID = $memberID  and " . $_POST['mon_champ'][$i] . "";
	if(($result = $mysql->delete($node)) === false )
		die($mysql->debugPrint());
}
}
Le probleme , Il recupere les données . Mais riens ne delete . Puis quand sa delete , sa delete tout au complet ....

Aidez moi et esperant que je suis clair :P