Précédent   Forum des professionnels en informatique > PHP > Outils > WAMP
WAMP Forum d'entraide sur WAMP (Windows Apache MySQL PHP) : installation, utilisation, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/03/2008, 15h46   #1
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
Par défaut Le même message m'est affiché pour des scripts différents

Bonjour,
moi aussi je suis débutante, et j'ai fais le tutoriel de developpez.com "Débuter avec le Zend Framework (approche MVC)" et il ne m'affiche pas d'erreur.
Mais, il s'agit de créer 4 pages:
accueil.php
ajouter.php
modifier.php
supprimer.php

Et à chaque page, il doit afficher une phrase. Mais, mon problème c'est qu'il m'affiche toujours le même message de la page accueil.php dans les 4 pages!!
Y a t il quelcun qui sais pourquoi?

Merci.
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 17h22   #2
Membre actif
 
Avatar de JmL40
 
Inscription : mai 2007
Messages : 310
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mai 2007
Messages : 310
Points : 191
Points : 191
Envoyer un message via MSN à JmL40


Salute, salute !

Pour répondre à ta demande, pourrais-tu nous donner plus d'information concernant ta méthode de développement, le code de tes différents fichiers etc etc ... !

Tu ne donnes pas assez de détails, donc à toi de jouer maintenant ...

ps : n'oublie pas les balise [code] ...

Cordialement
JmL40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 10h44   #3
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
Merci JmL40,
voici alors une explication détaillé:

* Voici mon architecture:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
test_zend
     /index.php
    /library
	 /Zend…..
    /Application
	/models
		/Album.php
	/controllers
		/indexController.php
	/views
		/scripts
		/index
			/index.phtml
			/ajouter.phtml
			/modifier.phtml
			/supprimer.phtml
	/config.ini
	/ajouter.php
	/modifier.php
	/supprimer.php
*config.ini:
Code :
1
2
3
4
5
6
7
 
[general]
db.adapter = PDO_MYSQL
db.config.host = localhost
db.config.username = root
db.config.password =
db.config.dbname = mabase
*index.php, ajouter.php, modifier.php et supprimer.php ont le même code:
Code :
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
 
<?php
error_reporting(E_ALL|E_STRICT);
date_default_timezone_set('Europe/London');
 
set_include_path('.'
    . PATH_SEPARATOR . './library'
    . PATH_SEPARATOR . './application/models/'
    . PATH_SEPARATOR . get_include_path());
 
include "Zend/Loader.php";
Zend_Loader::loadClass('Zend_Controller_Front');
Zend_Loader::loadClass('Zend_Config_Ini');
Zend_Loader::loadClass('Zend_Registry');
Zend_Loader::loadClass('Zend_Db');
Zend_Loader::loadClass('Zend_Db_Table');
 
// load configuration
$config = new Zend_Config_Ini('./application/config.ini', 'general');
$registry = Zend_Registry::getInstance();
$registry->set('config', $config);
 
// setup database
$db = Zend_Db::factory($config->db->adapter,  $config->db->config->toArray());
Zend_Db_Table::setDefaultAdapter($db);
 
// setup controller
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
$frontController->setControllerDirectory('./application/controllers');
 
// run!
$frontController->dispatch();

*indexController.php:
Code :
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
 
class IndexController extends Zend_Controller_Action 
{
    function init()
    {
        $this->view->baseUrl = $this->_request->getBaseUrl();
		Zend_Loader::loadClass('Album');
    }
 
    function indexAction()
    {
		$this->view->title = "Mes albums";
		$album = new Album();
	    $this->view->albums = $album->fetchAll();
    }
 
    function ajouterAction()
    {
        $this->view->title = "Ajouter un nouvel album";
    }
 
    function modifierAction()
    {
        $this->view->title = "Modifier un album";
    }
 
    function supprimerAction()
    {
        $this->view->title = "Supprimer un album";
    }
}
*Album.php:
Code :
1
2
3
4
5
6
 
<?php
class Album extends Zend_Db_Table
{
    protected $_name = 'album';
}
*index.phtml, ajouter.phtml, modifer.phtml et supprimer.phtml ont le même code:
Code :
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
 
<html>
<head>
	<title><?php echo $this->escape($this->title); ?></title>
</head>
<body>
	<h1><?php echo $this->escape($this->title); ?></h1>
<p><a href="<?php echo $this->baseUrl; ?>/Application/ajouter.php">Ajouter un nouvel album</a></p>
<table border='1'>
<tr>
	<th>Title</th>
	<th>Artist</th>
	<th>&nbsp;</th>
</tr>
 
<?php foreach($this->albums as $album) : ?>
<tr>
	<td><?php echo $this->escape($album->title);?></td>
	<td><?php echo $this->escape($album->artist);?></td>
	<td>
	  <a href="<?php echo $this->baseUrl; ?>/Application/modifier.php?id=<?php 
          echo $album->id;?>">Modifier</a>
  <a href="<?php echo $this->baseUrl; ?>/Application/supprimer.php?id=<?php 
      echo $album->id;?>">Supprimer</a>
	</td>
</tr>
<?php endforeach; ?>
</table>
</body>
</html>
Merci d'avance pour votre aide
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 10h52   #4
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
La page index.php contient des liens vers ajouter.php, modifier.php, et supprimer.php.
Le problème c'est que toutes les pages contiennent le contenu de la page index.php tant disque qu'elles doivent afficher respectivement:
"Ajouter un nouvel album" dans la page: ajouter.php
"Modifier l'album" dans la page: modifier.php
"Supprimer l'album" dans la page: supprimer.php
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 11h16   #5
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Citation:
Envoyé par salmoucha Voir le message
La page index.php contient des liens vers ajouter.php, modifier.php, et supprimer.php.
NON, il n'y a pas de "page" index.php ni de ajouter.php ou autre chose, il y a un bootstrap, qu'on appelera par abus de langage le controleur frontal, qui intercepte toutes les requêtes, et qui s'appelle index.php.

Citation:
Envoyé par salmoucha Voir le message
tant disque
Là, tu abuses vraiment.
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 13h55   #6
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
s'il te plait nicolas explique moi plus.
1)Est-il impossible d'afficher la page ajouter?
si on peut le faire, alors y a-t-il un code spécifique pour la page ajouter.php ou non?
NB: j'ai respécté le 2eme tutoriel de Zend sur le site de developpez.com.
Je ne sais pas est ce que vous avez compris mon problème?
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 14h11   #7
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
La page "ajouter" est représentée physiquement par le fichier ajouter.phtml, c'est ça ta vue.
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 14h21   #8
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
très bien. c'est à dire, on n'a pas une page qui s'appelle "ajouter.php".
Donc, dans le lien de la page "index.phtml", comment je dois appeler la vue "ajouter" ?
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 14h24   #9
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
typiquement, on fais :
Code :
<a href="http://localhost/nomDuControleur/nomDeLaction">
soit dans ton cas
Code :
<a href="http://localhost/index/ajouter">
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 14h39   #10
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
J'ai fait ça, mais il m'affiche:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Page Web introuvable 
 HTTP 404  
   Causes les plus probables :
Il se peut que l’adresse contienne une erreur de frappe. 
Si vous avez cliqué sur un lien, il se peut qu’il soit obsolète. 
 
   Essayez la chose suivante : 
     Saisissez à nouveau l’adresse.  
 
     Aller à la page précédente. 
 
     Atteindre localhost et recherchez les informations de votre choix.  
 
     Informations 
 
Cette erreur (HTTP 404 Non trouvé) signifie qu’Internet Explorer a réussi à se connecter au site Web, mais que la page souhaitée est introuvable. Il se peut que la page Web soit temporairement indisponible. Ou alors, le site Web a peut-être modifié ou supprimé la page.
 
Pour plus d’informations sur les erreurs HTTP, consultez l’aide.
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 14h47   #11
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Ton site Web est bien directement dans le répertoire www? as tu bien chargé le mod_rewrite?
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 15h04   #12
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
oui mon site web est sous le www.
le "mod_rewrite", vous voulez dire le fichier .htaccess?
qui contient le code suivant:
Code :
1
2
3
4
5
 
RewriteEngine on
RewriteRule .* index.php
php_flag magic_quotes_gpc off
php_flag register_globals off
Au début, j'ai mit ce fichier sous le même chemin que le fichier index.php, mais il m'affiche l'erreur suivante:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Le site Web a refusé d’afficher cette page Web 
 HTTP 403  
   Causes les plus probables :
Ce site Web nécessite que vous vous connectiez. 
 
   Essayez la chose suivante : 
     Aller à la page précédente. 
 
     Informations 
 
Cette erreur (HTTP 403 Refusé) signifie qu’Internet Explorer a réussi à se connecter au site Web, mais qu’il n’est pas autorisé à afficher la page Web.
 
Pour plus d’informations sur les erreurs HTTP, consultez l’aide.
et lorsque je le supprime, la page index.php s'affiche normalement.
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 15h09   #13
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
Je ne sais pas, mais est ce qu'il y a sur internet explorer une option pour activer l'URI? car toujours il n'arrive pas à connaitre la page "ajouter"
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 15h18   #14
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
clic gauche sur l'icône de wamp
->Apache
->Modules Apache
->rewrite_module
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 15h36   #15
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
Merci bcppp nicolas.
Les pages sont affichés.
Mais excuse moi une autre fois, j'ai pas compris ce code dans index.phtml:
Code :
1
2
 
<?php echo $this->render('header.phtml'); ?>
Lorsque j'appelle la page "header.phtml" de cette manière, il m'affiche une erreur:
Code :
1
2
 
Fatal error: Uncaught exception 'Zend_View_Exception' with message 'script 'header.phtml' not found in path (.\application\views\scripts\)'.....
Et si je mais à la place de ce code:
Code :
1
2
 
<?php require('header.phtml');?>
ça fonctionne.Pour quoi?
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 15h38   #16
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Ou as tu mis header.phtml dans ton arborescence?
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 16h26   #17
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
Merci bcpp nicolas de votre aide.
Mes pages web s'affichent correctement.
Mais je veux bien comprendre ce code à quoi serre?
Code :
1
2
 
<?php echo $this->render('header.phtml'); ?>
Merci
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 16h33   #18
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
ça sert à inclure un entête dans la page.
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 16h38   #19
Membre du Club
 
Inscription : février 2008
Messages : 117
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 117
Points : 40
Points : 40
j'ai mis "header.phtml" sous:
C:\wamp\www\test_zend\Application\views\scripts\index

NB: dans ce dossier, j'ai mis index.phtml, ajouter.phtml, header.phtml,...
salmoucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h34.


 
 
 
 
Partenaires

Hébergement Web