if / isset

hola
Invité n'ayant pas de compte PHPfrance

16 avr. 2005, 18:34

Bonjour à vous !
voilà mon problème j'ai deux listes déroulantes pour administrer ma base de donnée MySQL
- une liste qui contient le nom des tables
- une liste qui determine l'action à effectuer

dans cette exemple on va dire que je choisi la table categorie et l'action ajouter une occurence...
à ce moment là le formulaire d'ajout dans la table en question s'affiche parfaitement je remplis les champs et veut valider en cliquant sur le bouton Ajouter... seul problème rien ne se passe ! je m'explique j'avais fait un INSERT INTO blabla... ça ne marchait pas j'ai donc cherché pour voir d'ou provenait l'erreur mais sans succées j'ai donc simplifier la chose en plaçant un echo "OK"; lorsque je clique sur le bouton 'Ajouter' mais 'OK'
ne s'affiche pas... je cherche en vain :p une aide serait la bienvenue je pense ! merci d'avance !
PS : si vous avez une façon plus ingénieuse d'administrer la base à partir de l'interface web je suis preneur... merci d'avance !

VOICI LE CODE EN QUESTION :
<?php
//connexion
include('../connect/connect.php');
					
//obtenir le nom des tables
$result = mysql_list_tables($bdd);
					
//affichage des tables
echo "<table border='0' width='400' class='bordtable' cellspacing='10'><tr align='center'><td>
			<form name='admin' action=".$_SERVER['PHP_SELF']." method='POST'>
			<select name='choix_table'>
			<option name='table'> Table MySQL à administrer </option>";
	
			while($ligne = mysql_fetch_row($result))
			{
				$table = $ligne[0];
				echo "<option value='$table'> $table </option>";
			}
				echo "</select></td></tr>";
							
		//choix de l'action à faire
		echo "<tr align='center'><td>
					<select name='choix_action'>
						<option name='action' value='action'> Action MySQL à effectuer </option>
						<option name='ajouter' value='ajouter'> Ajouter une occurence </option>
						<option name='supprimer' value='supprimer' > Supprimer une occurence </option>
					 </select></td></tr>
				 <tr><td align='center'><input type='submit' value='Administrer' name='bt_administrer'></td></tr></table></form>";
							
			if(isset($_POST['bt_administrer']))
			{
				//recuperation du nom de la table et de l'action à faire
				$table = $_POST['choix_table'];
				$action = $_POST['choix_action'];
								
				if (($table == 'categorie') && ($action == 'ajouter'))
				{
					echo "<form name='cat' action=".$_SERVER['PHP_SELF']." method='GET'>
								<tr>
									<td align='right' width='100'> Nom : </td><td><input type='text' name='ajout_nom'></td></tr>
									<td align='right' width='100'> Description :</td><td><input type='text' name='ajout_description'></td>
									<td><input type='submit' value='Ajouter' name='bt_ajout_cat'></td>
								</tr></form>";
				
					if(isset($_POST['bt_ajout_cat']))
					{
						echo "OK";
					}
				}
			}
				
			echo "</table>";
			mysql_close();
?>

Eléphant du PHP | 334 Messages

16 avr. 2005, 18:41

hum pourquoi t'installes pas tout simpletement phpmyadmin ? :)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 avr. 2005, 18:42

peut-être parceque ton test est précédé d'un premier :
if(isset($_POST['bt_administrer']))
donc au premier clic sur le bouton bt_administrer ce test renvoie vrai, mais au deuxième clic sur bt_ajout_cat il renvoie faux, donc le deuxième test
if(isset($_POST['bt_ajout_cat']))
                    {
                        echo "OK";
                    }
n'est jamais exécuté

hola
Invité n'ayant pas de compte PHPfrance

16 avr. 2005, 18:47

hey !

jerem >> PhpMyAdmin ... en interface web ?!!

ouckileou >> ok je vois ! alors comment puis-je arranger ça ?! si vous avez une idée pour procéder différemment :) merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 avr. 2005, 18:53

ben essaye déjà de sortir ton sous-bloc du premier bloc
<?php
//connexion
include('../connect/connect.php');
                    
//obtenir le nom des tables
$result = mysql_list_tables($bdd);
                    
//affichage des tables
echo "<table border='0' width='400' class='bordtable' cellspacing='10'><tr align='center'><td>
            <form name='admin' action=".$_SERVER['PHP_SELF']." method='POST'>
            <select name='choix_table'>
            <option name='table'> Table MySQL à administrer </option>";
    
            while($ligne = mysql_fetch_row($result))
            {
                $table = $ligne[0];
                echo "<option value='$table'> $table </option>";
            }
                echo "</select></td></tr>";
                            
        //choix de l'action à faire
        echo "<tr align='center'><td>
                    <select name='choix_action'>
                        <option name='action' value='action'> Action MySQL à effectuer </option>
                        <option name='ajouter' value='ajouter'> Ajouter une occurence </option>
                        <option name='supprimer' value='supprimer' > Supprimer une occurence </option>
                     </select></td></tr>
                 <tr><td align='center'><input type='submit' value='Administrer' name='bt_administrer'></td></tr></table></form>";
                            
            if(isset($_POST['bt_administrer']))
            {
                //recuperation du nom de la table et de l'action à faire
                $table = $_POST['choix_table'];
                $action = $_POST['choix_action'];
                                
                if (($table == 'categorie') && ($action == 'ajouter'))
                {
                    echo "<form name='cat' action=".$_SERVER['PHP_SELF']." method='GET'>
                                <tr>
                                    <td align='right' width='100'> Nom : </td><td><input type='text' name='ajout_nom'></td></tr>
                                    <td align='right' width='100'> Description :</td><td><input type='text' name='ajout_description'></td>
                                    <td><input type='submit' value='Ajouter' name='bt_ajout_cat'></td>
                                </tr></form>";
                }
            }
            if(isset($_POST['bt_ajout_cat']))
                    {
                        echo "OK";
                    }
                
            echo "</table>";
            mysql_close();
?>
et PHPMyAdmin est effectivement une interface web :)

hola
Invité n'ayant pas de compte PHPfrance

16 avr. 2005, 18:59

aucun changement en sortant cette boucle :/

phpMyadmin est une interface web oui mais ce n'est pas la mienne :p je veux administrer ma base à partir de mon site :)

hola
Invité n'ayant pas de compte PHPfrance

16 avr. 2005, 19:01

forcément si je declare la method GET et que je le récupére en POST ça fonctionnera pas ! lol c'est bon ça marche en le plaçant ici ;) merci bien !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 avr. 2005, 19:02

ok alors bon courage pour faire ta propre interface ;)

tu as ce script en ligne ? qu'on puisse voir ce que ça donne à coté du code

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 avr. 2005, 19:03

forcément si je declare la method GET et que je le récupére en POST ça fonctionnera pas ! lol c'est bon ça marche en le plaçant ici ;) merci bien !
:lol: pas de chance j'avais vérifié sur le premier formulaire, pas sur le second...

hola
Invité n'ayant pas de compte PHPfrance

16 avr. 2005, 19:06

tu as ce script en ligne ? qu'on puisse voir ce que ça donne à coté du code :?: :!: :?:

j'ai pas bien compris là :p

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 avr. 2005, 19:15

ben je voulais voir le script exécuté, étant donné que je ne peux pas exécuter ce code chez moi car il me manque des choses (lien avec les tables)

donc je voulais savoir si tu avais mis ce script en ligne quelque part

mais bon c'est réglé maintenant, d'ailleurs tu peux cliquer sur "Résolu" ;)

hola
Invité n'ayant pas de compte PHPfrance

16 avr. 2005, 19:23

merci bien ;)

Eléphant du PHP | 334 Messages

17 avr. 2005, 02:32

honnêtement je comprend pas pourquoi tu veux réinventer la roue ? :oops:

essaye phpmyadmin et tu nous en diras des nouvelles :P :wink:

hola
Invité n'ayant pas de compte PHPfrance

17 avr. 2005, 16:48

salut ! je veux pas réinventer la roue ;) phpmyadmin c'est très bien je connais mais je veux juste un outil disponible sur mon site pour faire ça tout simplement :)