Erreur Lors de l'ajout d'un formulaire PHP

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Erreur Lors de l'ajout d'un formulaire PHP

    Fatal error: Cannot redeclare opt_group() (previously declared in /home/content/54/6730654/html/components/com_jumi/jumi.php(25) : eval()'d code:21) in /home/content/54/6730654/html/modules/mod_jumi/tmpl/default.php(12) : eval()'d code on line 27


    Je recois cet erreur lorsque j'installe avec Jumi mon formulaire PHP. Aidez moi svp.

  • #2
    Bonsoir

    Je ne sais pas ton objectif mais je te conseil pour tout ce qui est intégration des formulaires dans Joomla le composant ChronoForms que je viens de mettre en place c'est vraiment simple.

    regarde ce tuto (video)

    Commentaire


    • #3
      J'ai un autre erreur, lorsque je clique sur submit, la page revient sur mon index de départ. Pourtant mon code fonctionne bien sur d'autre site. Mais avec jumi/joomla, sa ne fonctionne pas. Noter que j'ai enlever certains formulaire questions dans mon post car c'était trop gros pour la page.
      Code:
      <?
      session_cache_limiter('private, must-revalidate');
      	session_start();
      	//////////////////////////////////
      	//  CONFIGURATION POUR LE FORM  //
      	//////////////////////////////////
      	// A QUI ENVOYER LE E-MAIL ?
      	$mailto = "Myemail@myemail.com";
      ?>	
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
      <head>
      </head>
      <body>
      
      					  <?
      	///////////////////////
      	//   DEBUT DU FORM   //
      	///////////////////////
       	//Fonction pour Cree Les menu deroulant.
      	function opt_group($gopt) {
      		$gopt=explode(",",$gopt);
      		for ($i=0;$i < count($gopt);$i++) {
      			$opt_string .= "<option value=\"".($i+1)."\">".$gopt[$i]."</option>";
      		}
      		print $opt_string;
      	}
      		// Confirme le form
      	if (count($_POST) && htmlentities($_POST['process']) == '1') {
      		$post_name = htmlentities($_POST['name']);
      		$post_name = $post_name ? $post_name : false;
      		$post_age = htmlentities($_POST['age']);
      		$post_age = $post_age ? $post_age : false;
      		$post_gender = htmlentities($_POST['gender']);
      		$post_gender = $post_gender ? $post_gender : false;
      		$post_loc = htmlentities($_POST['loc']);
      		$post_loc = $post_loc ? $post_loc : false;
      		$post_time = htmlentities($_POST['time']);
      		$post_time = $post_time ? $post_time : false;
      		$post_email = htmlentities($_POST['email']);
      		$post_email = $post_email ? $post_email : false;
      		$post_raidexp = htmlentities($_POST['raidexp']);
      		$post_raidexp = $post_raidexp ? $post_raidexp : false;
      		$post_cpu = htmlentities($_POST['cpu']);
      		$post_cpu = $post_cpu ? $post_cpu : false;
      		$post_memory = htmlentities($_POST['memory']);
      		$post_memory = $post_memory ? $post_memory : false;
      		$post_video = htmlentities($_POST['video']);
      		$post_video = $post_video ? $post_video : false;
      		$post_internet = htmlentities($_POST['internet']);
      		$post_internet = $post_internet ? $post_internet : false;
      		$post_vent = htmlentities($_POST['vent']);
      		$post_vent = $post_vent ? $post_vent : false;
      		$post_micro = htmlentities($_POST['micro']);
      		$post_micro = $post_micro ? $post_micro : false;
      		$post_addons = htmlentities($_POST['addons']);
      		$post_addons = $post_addons ? $post_addons : false;
      		$post_charname = htmlentities($_POST['charname']);
      		$post_charname = $post_charname ? $post_charname : false;
      		$post_server = htmlentities($_POST['server']);
      		$post_server = $post_server ? $post_server : false;
      		$post_race = htmlentities($_POST['race']);
      		$post_race = $post_race ? $post_race : false;
      			$post_class = htmlentities($_POST['class']);
      		$post_class = $post_class ? $post_class : false;
      			$post_primary = htmlentities($_POST['primary']);
      		$post_primary = $post_primary ? $post_primary : false;
      			$post_secondary = htmlentities($_POST['secondary']);
      		$post_secondary = $post_secondary ? $post_secondary : false;
      			$post_profession = htmlentities($_POST['profession']);
      		$post_profession = $post_profession ? $post_profession : false;
      			$post_armory = htmlentities($_POST['armory']);
      		$post_armory = $post_armory ? $post_armory : false;
      			$post_wws = htmlentities($_POST['wws']);
      		$post_wws = $post_wws ? $post_wws : false;
      			$post_raiding = htmlentities($_POST['raiding']);
      		$post_raiding = $post_raiding ? $post_raiding : false;
      			$post_any = htmlentities($_POST['any']);
      		$post_any = $post_any ? $post_any : false;
      			$post_guild = htmlentities($_POST['guild']);
      		$post_guild = $post_guild ? $post_guild : false;
      				$post_reasons = htmlentities($_POST['reasons']);
      		$post_reasons = $post_reasons ? $post_reasons : false;
      				$post_friend = htmlentities($_POST['friend']);
      		$post_friend = $post_friend ? $post_friend : false;
      				$post_comment = htmlentities($_POST['comment']);
      		$post_comment = $post_comment ? $post_comment : false;
      		$post_pick = htmlentities($_POST['pick']);
      		$post_pick = $post_pick ? $post_pick : false;
      	
      
      		//Oubliger d'inscrire c'est information
      		$post_information_array=array(
      			0 => array('Name' => $post_name),
      			1 => array('Age' => $post_age),
      			2 => array('Location' => $post_loc),
      			3 => array('Time/Zone' => $post_time),
      			4 => array('Email' => $post_email),
      			5 => array('Raid Experience' => $post_raidexp),
      			6 => array('Processor' => $post_cpu),
      			7 => array('Memory' => $post_memory),
      			8 => array('Video' => $post_video),
      			9 => array('Internet Connection' => $post_internet),
      			10 => array('Character Name' => $post_charname),
      			11 => array('Server' => $post_server),
      			12 => array('Character Race' => $post_race),
      			13 => array('Character Class' => $post_class),
      			14 => array('Primary Spec' => $post_primary),
      			15 => array('Secondary Spec' => $post_secondary),
      			16 => array('Profession' => $post_profession),
      			17 => array('Armory Link' => $post_armory),
      			18 => array('WWS/WOL Link' => $post_wws),
      			19 => array('What guild are you coming from' => $post_guild),
      			20 => array('Why should we pick you up' => $post_pick),
      			21 => array('Raiding Availability' => $post_raiding),
      			22 => array('Any unique monthly' => $post_any),
      			
      		);
      		for ($i=0;$i < count($post_information_array);$i++) {
      			if (!$post_information_array[$i][key($post_information_array[$i])]) {
      				$needthisinfo[] .= key($post_information_array[$i]);
      			}
      		}
      				$_SESSION['mail_message'] = "
      		<table cellpadding=\"2\" cellspacing=\"2\" border=\"0\">
      		<tr><td colspan=\"2\"><hr style=\"border:1px solid C2A22E;\"></td></tr>
      		<tr><td colspan=\"2\" align=\"center\"><h4 style=\"margin:0px;padding:0px;\">Application to Second String!</h4></td></tr>
      		<tr><td colspan=\"2\"><hr style=\"border:1px solid C2A22E;\"></td></tr>
      	<tr><td colspan=\"2\" align=\"center\"><h4 style=\"margin:0px;padding:0px;\">About you</h4></td></tr>
      		<tr><td colspan=\"2\"><hr style=\"border:1px solid C2A22E;\"></td></tr
      	    <tr><td>Your Name:</td><td align=\"center\">".$post_name."</td></tr>
      		<tr><td>Any friends in Second String:</td><td align=\"center\">".$post_friend."</td></tr>		<tr><td>Other Comments?:</td><td align=\"center\">".$post_comment."</td></tr>
      	</tr>
      		";
      	} elseif (count($_POST) && htmlentities($_POST['process']) == '2') {
      		if ($_SESSION['mail_message']) {
      			$headers .= "From: ".$mailto." \r\n";
      			$subject = "Application to Second String";
      			$messages = $_SESSION['mail_message'];
      			mail($mailto,$subject,$messages,$headers);
      			?>
      			<form>
      			  <font color="C2A22E" face="Morpheus"><font size="4">Thanks you for your application!<br /> 
      		      An officer will review your application and you will be notified as soon as possible.<br>
      		      For access to membership on our forum, click <a href="http://secondstring.guildportal.com/ContentControls/Support/NewUser.aspx?GuildID=256209">here.</a><br />
      		      <br />
      		      If you noticed any errors, please report here : report@secondstring.netai.ne .
                    <br />
      		        </font></font>
      		        
      			</form>
      			<?
      		}
      		unset($_SESSION['mail_message']);
      	}
      	function post_style($var) {
      		if (!$var && count($_POST)) 
      			return "\" class=\"formerr";
      		else 
      			return $var;
      	}
      	if (!count($needthisinfo) && count($_POST) && htmlentities($_POST['process']) == '1') { 
      		?>
      <form method="POST" action="<? print $_SERVER['PHP_SELF']; ?>">
      	<input type="hidden" name="process" value="2">
      	<table cellpadding="2" cellspacing="2" border="0">
      		<tr><td width="500" colspan="2"><div align="center"><img src="http://citan-elune.blogvie.com/files/2010/02/icones-wow.png" width="25" height="25" border="0" /><font size="5,2"><font color="#C2A22E" face="Morpheus">Confirmation of your application</font></font> <img src="http://citan-elune.blogvie.com/files/2010/02/icones-wow.png" width="25" height="25" border="0" 
      /></div></td></tr>
      		<tr><td colspan="2"><hr style="border:1px solid #C2A22E;"></td></tr>
      		<tr>
      		  <td width="250"><font color="#C2A22E">Your Name</font> </td>
      		  <td width="250" align="center"><font color="#C2A22E"><? print $post_name; ?></font></td></tr>
      	<input type="submit" value="Submit">&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="Reset" onClick="javascript:do_dassign('0');"></td></tr>
      	<tr><td colspan="2"><hr style="border:1px solid #C2A22E;"></td></tr>
      </table>
      </form>
      <? }
      	//////////////////////
      	//   FIN DU FORM    //
      	//////////////////////
      ?>
      
      </body>
      </html>
      Dernière édition par Morgarr à 19/09/2010, 02h29

      Commentaire


      • #4
        Bonjour,
        lorsque je clique sur submit
        ça veut dire que tu as résolu le problème du premier post ?

        Je n'ai pas tout lu mais je pense qu'il y a un malentendu sur la façon d'intégrer du php avec Jumi :
        > il ne devrait pas y avoir de balises <html.. <head><body> etc. : en effet, le code jumi s'insère littéralement dans une page Joomla constituée, ce n'est pas un wrapper.
        > il faudrait commencer par vérifier ce que renvoie <? print $_SERVER['PHP_SELF']; ?>

        En passant,
        > utiliser la balise <?php au lieu de <? de plus en plus de serveur sont configurer pour refuser les balises courtes.
        > peut être revoir l'organisation du code...
        Schtroumpfe toi le Schtroumpf t'aidera.
        Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

        Commentaire


        • #5
          DOnc devrais je seulement faire le formulaire en HTLM et lorsque je clique sur submit, qui aille prendre ses valeurs dans le fichier submit.php? Mon document est en fait construit en 3 étapes. Un formulaire, lorsque tu clique sur submit y t'envoit sur une page de confirmations des données et ensuite sur submit, sa envoit un email vers ma boite message avec la page de remerciement. Si y faut que je sépare ces 3 pages pour que la premiere soit seulement du htlm et qu'elle prenne ses données dans un fichier php, ma base de php/htlm est trop base pour cela
          Dernière édition par Morgarr à 19/09/2010, 14h46

          Commentaire


          • #6
            Re,
            non je n'ai rien dit de tel... Le code a priori devrait fonctionner, il faut donc comprendre ce qui se passe. L'idée était juste d'essayer de comprendre à quel moment ça déraillait, et donc première étape vérifier que l'URL derrière action dans la balise form est bien celle qu'on imagine....
            Schtroumpfe toi le Schtroumpf t'aidera.
            Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

            Commentaire


            • #7
              Ok, mais je me demande juste pourquoi par exemple, ici sa fonctionne http://secondstring-wow.com/Application.php , directement héberger sur le FTP et pas avec jumi http://www.secondstring-wow.com/inde...id=1&Itemid=66 . Pourtant c'est le meme code

              Commentaire


              • #8
                Re,
                un même programme dans un même environnement et travaillant sur les mêmes données doit donner le mêmerésultat. Là typiquement, tu n'es pas dans le même environnement. Il faut donc s'assurer de l'impact de cet environnement sur le programme et les infos qu'il reçoit...

                Tout ça pour dire que si tu avais répondu à la question que je t'ai posée hier matin, tu saurais déjà pourquoi ça ne marche pas... Maintenant que j'ai vu la page, j'y réponds moi-même : <? print $_SERVER['PHP_SELF']; ?> renvoie /index.php. Normal dans ces conditions que tu sois renvoyé à la page d'accueil.
                Essaie avec <?php echo JRequest::getURI; ?>
                Schtroumpfe toi le Schtroumpf t'aidera.
                Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

                Commentaire


                • #9
                  Ok ce comprend ce que tu m'explique. Mais je vois toujours pas pourquoi y marche partout mais pas avec Joomla. Et qu'elle url je dois spécifier? Mon confirmation page est dans ma meme page de PHP, tous le code est en 1 page donc quand tu me dit <?php echo JRequest::getURI; ?> , quelle url? quand jclique sur submit , sa me donne une confirmation page, et cette page est dans le meme code que la premiere

                  Commentaire


                  • #10
                    Re,
                    quand ton programme tourne tout seul, le script php est aussi le nom de la page, donc $_SERVER['PHP_SELF'] qui semble retourner le nom du script renvoie aussi l'url de la page, tout va bien. Quand tu encapsules ton script dans Joomla, le script principal est index.php donc ça ne correspond plus à l'url de la page, raté.


                    quand je clique sur submit , ça me donne une confirmation page, et cette page est dans le même code que la première
                    à quoi ça sert de demander de l'aide si tu passes plus de temps à essayer d'expliquer que ça ne va pas marcher plutôt que d'essayer

                    J'ai bien compris que ton script est un automate d'état. Le test de "process" passé dans le form en hidden permet de détecter que l'on revient du submit et donc de débrancher le code vers le traitement des données. On faisait déjà comme ça en Cobol il y a 500 ans quand j'étais un jeune schtroumpf alors tu penses... Justement le JRequest::getURI va récupérer l'url de la page courante (la page Joomal qui contient le code Jumi donc ça va enchainer...

                    Tu peux essayer s'il te plait ?
                    Schtroumpfe toi le Schtroumpf t'aidera.
                    Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

                    Commentaire

                    Annonce

                    Réduire
                    1 sur 2 < >

                    C'est [Réglé] et on n'en parle plus ?

                    A quoi ça sert ?
                    La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                    Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                    Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                    Comment ajouter la mention [Réglé] à votre discussion ?
                    1 - Aller sur votre discussion et éditer votre premier message :


                    2 - Cliquer sur la liste déroulante Préfixe.

                    3 - Choisir le préfixe [Réglé].


                    4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                    2 sur 2 < >

                    Assistance au forum - Outil de publication d'infos de votre site

                    Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                    Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                    Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                    UTILISER À VOS PROPRES RISQUES :
                    L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                    Problèmes connus :
                    FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                    Installation :

                    1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                    Archive zip : https://github.com/AFUJ/FPA/zipball/master

                    2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                    3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                    4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                    5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                    6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                    et remplacer www. votresite .com par votre nom de domaine


                    Exemples:
                    Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/
                    Pour executer le script: http://www..com/fpa-fr.php

                    Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/cms/
                    Pour executer le script: http://www..com/cms/fpa-fr.php

                    En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                    Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                    Voir plus
                    Voir moins
                    Travaille ...
                    X