[PHP]Parse error sur serveur

Fermé
Nomadistari - 25 janv. 2006 à 23:46
 NomadistarI - 27 janv. 2006 à 12:46
Bonjour à tous!
J'ai un besoin d'AIDE URGENT!!!
J'ai un site professionele ametre en ligne pour vendredi midi mais la mise en ligne m'affiche des probleme quant à mon code PHP.

En local tout marche a la perfection mais en ligne j'ai un parse error sans rien d'autre d'afficher :

Parse error: parse error in fonctions.php on line 11

Voici mon code autour de la ligne 11 :

	include("connexion.php");
	@mysql_connect( $serveur , $login , $pass ) or die( "Connexion mysql impossible" ) ;

	// sélection de la base de données
	@mysql_select_db( $base ) or die( "Sélection de la base ".$base." impossible" ) ;
	//method créant le tableau associatif qui associe le nom des champs du formulaire avec la valeur entrée par l'utilisateur
	$formulaire= array();
	function formulaire(){
		//$formulaire= array();
		foreach($_REQUEST as $k=>$v){
			//echo $k." : ".$v." ; ";
			$formulaire[$k]=$v;
		}
		return $formulaire;
	}


Voila je suppose que c'est le foreach qui lui plait pas... Est-ce que cela viendra de la variable global? j'ai vu que leur nom était différent selon les versions. je travail sur PHP 5.

Enfin voila pas d'indication de la part du navigateur, un site qui marche en local mais pas sur un serveur....

AU SECOURS!

Merci d'avance pour vos réponses et votre aide!

6 réponses

Je viens de passer un bon bout de temps sur le net, ainsi qu'a triturer le code... voila ce que j'en retire :
Le serveur utilise php 5 et des brouette donc a priori c'est bon pour la syntaxe (enfin apparament pas mais bon...)
J'ai changer deux trois bout de code pour faire des tests et il apparait que l'erreur ce reproduit pour chaque foreach! Le tableaux sont pourtant bien déclarer (souvent juste au dessu du foreach), mais rien ne fonctionne...

HELP! :'(
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
26 janv. 2006 à 14:47
t'as essayé de virer tes @ histoire d'avoir de plus amples informations sur tes erreurs (au cas ou elles viendrait de tes fonction pour mysql...) ?

0
Salut,
Après quelque recherches désépspéré dansles tréfonds du web j'ai triturer mon code et ai fait les constat suivant :
Tout dabord j'ai dévellopper mon site sur PHP 4.3.10 et le serveur possède PHP 4.2.3 , je ne pense pas que cette diférence mineur ai une grande importance mais, après quelques tests, je me rends compte que c'est le foreach que ne supporte pas le serveur.
ainsi je l'ai remplacer par le code suivant et il n'y a plus de parse error (par contre pour l'utilisation c'est pas trop ca...) :
 for(reset($tab); $key = key($tab); next($tab)) {
             echo "tab[$key]=".$tab[$key]."\n";
          }


Je ne connais pas trop each et next pour comprendre la fonction de ce script mais aucun parse erro avec lui!
Quelqu'un saurait-il comment faire accepter ce foreach?
Quelqu'un connait-il une script alternatif a cette fonction pour les version "ancienne" de php?
Merci d'avance pour votre réponse
0
Voila, le faite d'enlever les arobase n'as rien changer au débuggage.
j'ai remplacer tout le foreach, qui ne semblait pas lui plaire, mais j'ai maintenant un problème au niveau des variables global! :'(

J'ai vu qu'a partir de la version 4 de php, register globals était a off, y a t'il un moyende le changer?

Je fais appel a request mais aucune données de quelque formulaire que ce soit ne transit d'une page a l'autre...

D'ou cela peut il venir?
que dois-je faire?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
27 janv. 2006 à 10:06

J'ai vu qu'a partir de la version 4 de php, register globals était a off

Heuuu tu parles bien des register globals (genre les variables qui transiite via URL en caché ou pas d'un formulaire..) ?
car si c'est le cas, non ça n'est pas que depuis Php 4, c'est selon le serveur, c'est dans la config d'Apache (php.ini) .. .

Pour ce qui est de la récupération de champs de formulaire :
-Mon formulaire :
<input type="text" value="Testons :)" name="test"/>

-Ma page qui est spécifiée dans action dans la balise <form>
$maValeur=$test; //Register global à Off
$maValeur=$_GET['test']; //Register global à On, avec dans <form> method="GET"
$maValeur=$_POST['test']; //Register global à On, avec dans <form> method="POST"



Voilà, j'espère que c'est bien ca que tu voulais...

Bon Courage.
0
Tout d'abord merci pour votre aide!

On m'as conseiller de changer les variable $_GET post et compagnie (notamment $_Request) par les ncienne valeur $_http_vars_quelquechose

j'ai fais des recherceh sur les versio, de php et normalement je pensais que la version 4 accepterais les nouvelles superglobals.

On m'as conseiller de mettre les ancienne, je teste et je vous rendrais compte du résultat!

merci encore
0