IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Page erreur 500


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut Page erreur 500
    Bonjour à tous, je ne connais pas trop le php et j'ai voulu faire un petit script qui aide à automatisé l'affichage d'une "BDD". Quand je vais sur la page web, j'obtiens l'erreur : "La page One-World.eu ne fonctionne pas"

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    	abstract class Item
    	{
    		const Top = 0;
    		const Bottom = 1;
    	}
     
    	function getList()
    	{
    		$modlist = array();
    		$handle = fopen('modlist.ods', 'r');
     
    		if ($handle)
    		{
    			$i = 0
    			while (!feof($handle))
    			{
    				$buffer = fgets($handle);
    				$modlist[i] = explode(';', $buffer)
    				i++;
    			}
    			fclose($handle);
    		}
     
    		return $modlist;
    	}
     
    	function createTable($list)
    	{
    		$table = ""
    		for( $i = 0, $s = count($list); i < $s; i++ )
    		{
    			if( $i % 2 == 0 )
    			{
    				$table += '<tr>';
    				$table += '	<td>' + $list[i][0] + '</td>';
    				$table += '	<td>' + $list[i][1] + '</td>';
    				$table += '	<td>' + $list[i][2] + '</td>';
    				$table += '	<td>' + $list[i][3] + '</td>';
    				$table += '</tr>';
    			}
    			else
    			{
    				$table += '<tr class="alt">';
    				$table += '	<td>' + $list[i][0] + '</td>';
    				$table += '	<td>' + $list[i][1] + '</td>';
    				$table += '	<td>' + $list[i][2] + '</td>';
    				$table += '	<td>' + $list[i][3] + '</td>';
    				$table += '</tr>';
    			}
    		}
    		return $table;
    	}
    Et le site où se trouve l'erreur : one-world.eu/minecraft

    Merci de votre aide ^^

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    On peut savoir comment tu passes de "je ne connais le PHP" à un script pareil ?
    Pour avoir l'erreur exacte, consulte tes logs : l'erreur 500 signifie en général que le serveur est configuré pour ne pas montrer les erreurs.

    Tout de même l'opérateur "d'affectation concaténant" c'est .= et pas +=
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    Je programme en c++ donc j'ai une certaine aisance à m'adapter à ce langage mais je n'y connais presque rien, mis à part ce qui à rapport à l'algo en générale.
    Je vais essayer avec le .=
    Et pour ce qui en est des logs je vais les réactiver le temps de voir l'erreurs/les erreurs

    EDIT :
    Mes erreurs ne sont pas étonnantes x) j'ai oublié beaucoup de fois '$' et 2 point-virgule Cependant un autre problème entre en jeu, mon code ne me donne pas du tout le résultat souhaité :/ il crée bel et bien le tableau mais le remplit par un zéro
    Du coup pouvez-vous m'aidé à trouver l'erreur ?

  4. #4
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    On peut voir le code corrigé ?

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    Le code corrigé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    	abstract class Item
    	{
    		const Top = 0;
    		const Bottom = 1;
    	}
     
    	function list()
    	{
    		$modlist = array();
    		$handle = fopen('modlist.ods', 'r');
     
    		if ($handle)
    		{
    			$i = 0;
    			while (!feof($handle))
    			{
    				$buffer = fgets($handle);
    				$modlist[i] = explode(';', $buffer);
    				$i++;
    			}
    			fclose($handle);
    		}
     
    		return $modlist;
    	}
     
    	function createTable($list)
    	{
    		$table = "";
    		for( $i = 0, $s = count($list); $i < $s; $i++ )
    		{
    			if( $i % 2 == 0 )
    			{
    				$table .= '<tr>';
    				$table .= '	<td>'.$list[i][0].'</td>';
    				$table .= '	<td>'.$list[i][1].'</td>';
    				$table .= '	<td>'.$list[i][2].'</td>';
    				$table .= '	<td>'.$list[i][3].'</td>';
    				$table .= '</tr>';
    			}
    			else
    			{
    				$table .= '<tr class="alt">';
    				$table .= '	<td>'.$list[i][0].'</td>';
    				$table .= '	<td>'.$list[i][1].'</td>';
    				$table .= '	<td>'.$list[i][2].'</td>';
    				$table .= '	<td>'.$list[i][3].'</td>';
    				$table .= '</tr>';
    			}
    		}
    		return $table;
    	} 
     
    	function draw($item)
    	{
    		switch($item)
    		{
    			case Item::Top:
    				echo '<html><head><title> Minecraft Mods serveur Fermatys </title><link rel="Stylesheet" href="css/tableau.css"></head><body><div class="datagrid"><table><thead><tr><th>Nom du mod</th><th>Version Minecraft</th><th>Version du mod</th><th>Utilisé par le serveur</th></tr></thead><tfoot><tr><td colspan="4"><div id="paging"><ul><li><a href="#"><span>Précédent</span></a></li><li><a href="#" class="active"><span>1</span></a></li><li><a href="#"><span>2</span></a></li><li><a href="#"><span>3</span></a></li><li><a href="#"><span>4</span></a></li><li><a href="#"><span>5</span></a></li><li><a href="#"><span>Suivant</span></a></li></ul></div></tr></tfoot>';
    				break;
    			case Item::Bottom:
    				echo
    				'<tbody>' + createTable(list()) + '</tbody></table></div></body></html>';
    				break;
    			default:
    				break;
    		}
    	}

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Au passage les tableaux peuvent s'incrémenter automatiquement en php, pas besoin du $i.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //...
    while (!feof($handle))
    {
    	$buffer = fgets($handle);
    	$modlist[] = explode(';', $buffer);
    }
    //...
    Et la case default ne sert à rien dans ton swicth, tu pourrais tout aussi bien la supprimer puisque tu n'as rien à mettre dedans.

  7. #7
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Il ne manquerai pas des $ dans devant le i ?

    $modlist[$i] = explode(';', $buffer);
    if( $i % 2 == 0 )
    {
    $table .= '<tr>';
    $table .= ' <td>'.$list[$i][0].'</td>';
    $table .= ' <td>'.$list[$i][1].'</td>';
    $table .= ' <td>'.$list[$i][2].'</td>';
    $table .= ' <td>'.$list[$i][3].'</td>';
    $table .= '</tr>';
    }
    else
    {
    $table .= '<tr class="alt">';
    $table .= ' <td>'.$list[$i][0].'</td>';
    $table .= ' <td>'.$list[$i][1].'</td>';
    $table .= ' <td>'.$list[$i][2].'</td>';
    $table .= ' <td>'.$list[$i][3].'</td>';
    $table .= '</tr>';
    }

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    Je n'ai pas copier le bon code, il y à bien les $ devant les i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    	abstract class Item
    	{
    		const Top = 0;
    		const Bottom = 1;
    	}
     
    	function getList()
    	{
    		$modlist = array();
    		$handle = fopen('modlist.ods', 'r');
     
    		if ($handle)
    		{
    			$i = 0;
    			while (!feof($handle))
    			{
    				$buffer = fgets($handle);
    				$modlist[$i] = explode(';', $buffer);
    				$i++;
    			}
    			fclose($handle);
    		}
     
    		return $modlist;
    	}
     
    	function createTable($list)
    	{
    		$table = "";
    		for( $i = 0, $s = count($list); $i < $s; $i++ )
    		{
    			if( $i % 2 == 0 )
    			{
    				$table .= '<tr>';
    				$table .= '	<td>'.$list[$i][0].'</td>';
    				$table .= '	<td>'.$list[$i][1].'</td>';
    				$table .= '	<td>'.$list[$i][2].'</td>';
    				$table .= '	<td>'.$list[$i][3].'</td>';
    				$table .= '</tr>';
    			}
    			else
    			{
    				$table .= '<tr class="alt">';
    				$table .= '	<td>'.$list[$i][0].'</td>';
    				$table .= '	<td>'.$list[$i][1].'</td>';
    				$table .= '	<td>'.$list[$i][2].'</td>';
    				$table .= '	<td>'.$list[$i][3].'</td>';
    				$table .= '</tr>';
    			}
    		}
    		return $table;
    	}
    Donc comme dit il m'affiche juste un 0 :/

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    Salut,

    Au passage les tableaux peuvent s'incrémenter automatiquement en php, pas besoin du $i;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //...
    while (!feof($handle))
    {
    	$buffer = fgets($handle);
    	$modlist[] = explode(';', $buffer);
    }
    //...
    Et la case default ne sert à rien dans ton swicth, tu pourrais tout aussi bien la supprimer puisque tu n'as rien à mettre dedans.
    Merci pour cette astuce
    Le default me servira plus tard ^^

  10. #10
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Ton code a pas mal changé, que vaut $list ? C'est le contenu de la fonction getList() ?

    Un var_dump($list) dans la fonction CreateTable devrait afficher le contenu du fichier, est-ce bien le cas ?
    SI ce n'est pas le cas, alors c'est dans la fonction getList() qu'il faut regarder.

  11. #11
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par Geoffrey74 Voir le message
    Ton code a pas mal changé, que vaut $list ? C'est le contenu de la fonction getList() ?

    Un var_dump($list) dans la fonction CreateTable devrait afficher le contenu du fichier, est-ce bien le cas ?
    SI ce n'est pas le cas, alors c'est dans la fonction getList() qu'il faut regarder.
    Avant de m'expliquer voici le code en un peu amélioré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    <?php
    	abstract class Item
    	{
    		const Top = 0;
    		const Bottom = 1;
    	}
     
    	function getList()
    	{
    		$modlist = array();
    		$handle = fopen('modlist.ods', 'r');
     
    		if ($handle)
    		{
    			while (!feof($handle))
    			{
    				$buffer = fgets($handle);
    				$modlist[] = explode(';', $buffer);
    			}
    			fclose($handle);
    		}
     
    		return $modlist;
    	}
     
    	function createTable($list)
    	{
    		$table = "";
    		for( $i = 0, $s = count($list); $i < $s; $i++ )
    		{
    			if( $i % 2 == 0 )
    			{
    				$table .= '<tr>';
    				$table .= '	<td>'.$list[$i][0].'</td>';
    				$table .= '	<td>'.$list[$i][1].'</td>';
    				$table .= '	<td>'.$list[$i][2].'</td>';
    				$table .= '	<td>'.$list[$i][3].'</td>';
    				$table .= '</tr>';
    			}
    			else
    			{
    				$table .= '<tr class="alt">';
    				$table .= '	<td>'.$list[$i][0].'</td>';
    				$table .= '	<td>'.$list[$i][1].'</td>';
    				$table .= '	<td>'.$list[$i][2].'</td>';
    				$table .= '	<td>'.$list[$i][3].'</td>';
    				$table .= '</tr>';
    			}
    		}
    		return $table;
    	} 
     
    	/// TEST
     
    	function draw($item)
    	{
    		switch($item)
    		{
    			case Item::Top:
    				echo '<html><head><title> Minecraft Mods serveur Fermatys </title><link rel="Stylesheet" href="css/tableau.css"></head><body><div class="datagrid"><table><thead><tr><th>Nom du mod</th><th>Version Minecraft</th><th>Version du mod</th><th>Utilisé par le serveur</th></tr></thead><tfoot><tr><td colspan="4"><div id="paging"><ul><li><a href="#"><span>Précédent</span></a></li><li><a href="#" class="active"><span>1</span></a></li><li><a href="#"><span>2</span></a></li><li><a href="#"><span>3</span></a></li><li><a href="#"><span>4</span></a></li><li><a href="#"><span>5</span></a></li><li><a href="#"><span>Suivant</span></a></li></ul></div></tr></tfoot>';
    				break;
    			case Item::Bottom:
    				echo
    				'<tbody>' + createTable(getList()) + '</tbody></table></div></body></html>';
    				break;
    			default:
    				break;
    		}
    	}
     
    	draw(Item::Top);
    	draw(Item::Bottom);
    ?>
    Une BDD de test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Mod_a;1.0;2.5;obligatoire
    Mod_b;1.0;3.1;facultatif
    Mod_c;1.0;1.1;recommandé
    L'adresse du résultat du code actuel : one-world.eu/minecraft

    - Ton code a pas mal changé, que vaut $list ? C'est le contenu de la fonction getList() ?
    Oui c'est ça, je récupère les données de ma bdd et renvoie une liste à deux dimensions.

    - Un var_dump($list) dans la fonction CreateTable devrait afficher le contenu du fichier, est-ce bien le cas ?
    En gros oui mais le l'ai appeler draw()

    - SI ce n'est pas le cas, alors c'est dans la fonction getList() qu'il faut regarder.
    C'est bel et bien le cas et je pense aussi que l'erreur vien du chargement du fichier. Mais si mon index.php et ma bdd se trouve dans le même répertoire, pas besoin de chemin absolu non ?

  12. #12
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Et donc, là tu as quoi comme problème ? Un tableau vide ? ou un erreur ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  13. #13
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    Un tableau vide ou du moins il contient un zéro...
    Nom : oki.png
Affichages : 182
Taille : 15,4 Ko

  14. #14
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    En fait, en relisant bien, j'ai comme l'impression que tu as un énorme bloc Top qui contient tout, sauf les données, et un bloc Bottom qui contient juste les lignes.

    Sauf que du coup, les lignes ne sont pas l'intérieur du tableau, vu que le tableau est défini dans Top

    Du coup, je propose que tu découpes en Top, Table et Bottom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	abstract class Item
    {
    	const Top = 0;
    	const Content = 1;
    	const Bottom = 2;
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function draw($item)
    {
        switch($item)
        {
            case Item::Top:
                echo '<html><head><title> Minecraft Mods serveur Fermatys </title><link rel="Stylesheet" href="css/tableau.css"></head><body>';
                break;
            case Item::Content: echo'<div class="datagrid">
                <table><thead><tr><th>Nom du mod</th><th>Version Minecraft</th><th>Version du mod</th><th>Utilisé par le serveur</th></tr></thead><tbody>' + createTable(getList()) + '</tbody><tfoot><tr><td colspan="4"><div id="paging"><ul><li><a href="#"><span>Précédent</span></a></li><li><a href="#" class="active"><span>1</span></a></li><li><a href="#"><span>2</span></a></li><li><a href="#"><span>3</span></a></li><li><a href="#"><span>4</span></a></li><li><a href="#"><span>5</span></a></li><li><a href="#"><span>Suivant</span></a></li></ul></div></tr></tfoot></div>';
                break;
            case Item::Bottom:
                echo
                '</body></html>';
                break;
            default:
                break;
        }
    }
     
    draw(Item::Top);
    draw(Item::Content);
    draw(Item::Bottom);
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  15. #15
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    J'avais bien remarqué ce problème mais pense tu que c'est réelement à cause de ça que je ne vois pas mon tableau ? Normalement je devrais quand même voir ma bdd mais si c'est mal affiché

  16. #16
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Lors de l'ouverture du fichier, tu fais un if($handle)..., très bien, mais pas de else, donc si l'ouverture se passe mal, tu ne le sais pas et tu retourne false, soit 0, ce qui s'affiche dans ton tableau.

    Je te conseil d'ajouter le chemin absolue lors de l'ouverture de ton fichier, ça évite les soucis.

  17. #17
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par Geoffrey74 Voir le message
    Lors de l'ouverture du fichier, tu fais un if($handle)..., très bien, mais pas de else, donc si l'ouverture se passe mal, tu ne le sais pas et tu retourne false, soit 0, ce qui s'affiche dans ton tableau.

    Je te conseil d'ajouter le chemin absolue lors de l'ouverture de ton fichier, ça évite les soucis.
    Par habitude j'ai un gestionnaire qui traite les erreurs et s'occupe d'y remédier. Pour le coup j'avais quand même essayer de voir avant de poster si le problème venez du fichier mais apparemment non il se charge très bien.

  18. #18
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    Ok j'ai trouver le problème... Il suffit juste de mettre l'opérateur de concaténation devant et derrière l'appel de ma fonction...
    Je vous remercie tous

    Le tableau résultat : http://one-world.eu/minecraft/

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    <?php
    	abstract class Item
    	{
    		const Top = 0;
    		const Content = 1;
    		const Bottom = 2;
    	}
     
    	function getList()
    	{
    		$modlist = array();
    		$handle = fopen('modlist.ods', 'r');
     
    		if ($handle)
    		{
    			while (!feof($handle))
    			{
    				$buffer = fgets($handle);
    				$modlist[] = explode(';', $buffer);
    			}
    			fclose($handle);
    		}
    		else
    		{
    			echo "Failed to load modlist";
    			return 1300;
    		}
     
    		return $modlist;
    	}
     
    	function createTable($list)
    	{
    		$table = "";
    		for( $i = 0, $s = count($list); $i < $s; $i++ )
    		{
    			if( $i % 2 == 0 )
    			{
    				$table .= '<tr>';
    				$table .= '	<td>'.$list[$i][0].'</td>';
    				$table .= '	<td>'.$list[$i][1].'</td>';
    				$table .= '	<td>'.$list[$i][2].'</td>';
    				$table .= '	<td>'.$list[$i][3].'</td>';
    				$table .= '</tr>';
    			}
    			else
    			{
    				$table .= '<tr class="alt">';
    				$table .= '	<td>'.$list[$i][0].'</td>';
    				$table .= '	<td>'.$list[$i][1].'</td>';
    				$table .= '	<td>'.$list[$i][2].'</td>';
    				$table .= '	<td>'.$list[$i][3].'</td>';
    				$table .= '</tr>';
    			}
    		}
    		return $table;
    	} 
     
    	/// TEST
     
    	function draw($item)
    	{
    		switch($item)
    		{
    			case Item::Top:
    				echo '<html><head><title> Minecraft Mods serveur Fermatys </title><link rel="Stylesheet" href="css/tableau.css"></head><body>';
    				break;
    			case Item::Content: echo'<div class="datagrid">
    				<table><thead><tr><th>Nom du mod</th><th>Version Minecraft</th><th>Version du mod</th><th>Utilisé par le serveur</th></tr></thead><tbody>'.createTable(getList()).'</tbody><tfoot><tr><td colspan="4"><div id="paging"><ul><li><a href="#"><span>Précédent</span></a></li><li><a href="#" class="active"><span>1</span></a></li><li><a href="#"><span>2</span></a></li><li><a href="#"><span>3</span></a></li><li><a href="#"><span>4</span></a></li><li><a href="#"><span>5</span></a></li><li><a href="#"><span>Suivant</span></a></li></ul></div></tr></tfoot></div>';
    				break;
    			case Item::Bottom:
    				echo
    				'</body></html>';
    				break;
    			default:
    				break;
    		}
    	}
     
    	draw(Item::Top);
    	draw(Item::Content);
    	draw(Item::Bottom);
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] page erreur 500 en prod
    Par zoreol dans le forum Symfony
    Réponses: 3
    Dernier message: 17/10/2011, 12h23
  2. Creation page erreur 404 et 500
    Par voyou59 dans le forum ASP
    Réponses: 2
    Dernier message: 04/11/2008, 09h44
  3. Erreur 500 dans Appli JSF de 2 pages
    Par pruderic dans le forum JSF
    Réponses: 1
    Dernier message: 14/08/2008, 11h41
  4. page d'erreur 500
    Par al3alwa dans le forum JSF
    Réponses: 3
    Dernier message: 01/07/2008, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo