je te déconseille d’utiliser des asp tag <?=
parce qu'il ne sont pas actif sur tout les serveur
je te déconseille aussi d'utiliser $_SERVER["PHP_SELF"], autant ne rien mettre
parce si tu fait du rewriting ça ne marchera pas
je te déconseille d’utiliser des asp tag <?=
parce qu'il ne sont pas actif sur tout les serveur
je te déconseille aussi d'utiliser $_SERVER["PHP_SELF"], autant ne rien mettre
parce si tu fait du rewriting ça ne marchera pas
Tu veux dire qu'à la place de :j'aurais pû mettre
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form method="post" action="<?=$_SERVER["PHP_SELF"]?>">
(j'avais pompé ça dans un bouquin)
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form method="post" action="">
Et d'autre part, ce que tu appelles des asp tags (<?=) (je ne connaissais pas le terme), je les utilise notamment quand je passe des données dans l'url (à récupérer à l'arrivée par $_GET) ; par exemple :Comment pourrais-je faire autrement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="http://une_url?data1=<?=$var1?>&data2=<?=$var2?> etc">
en normale,
oublie pas le echo
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php echo $var1 ?>
Le probleme des livres c'est qu'ils sont très vite obsolète. Toujours bien regardé la date, et dans les prérequis la version de PHP avec laquelle l'auteur travaille.
Le problème avecc'est qu'on reste dans une page unique, or là, je parle de transmission de données vers une autre page...
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php echo $var1 ?>
c'est pareil,
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?= $var1 ?>
c'est exactement la même chose
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php echo $var1 ?>
D'accord ; bien reçu
Jet de l'éponge : trop hard pour moi ; et pourtant, je suis convaincu de l'intérêt du MVC, mais j'ai décroché quand il commence à parler de front controller ; y aurait pas une littérature plus abordable ?si tu veux avancé je te conseil de lire (surtout de comprendre) ça :
http://symfony.com/doc/current/book/..._symfony2.html
prend le plus comme un exemple
qu'est ce que t'as pas compris ? les exemples de marche pas ?
Non, je ne remets pas en question les exemples (d'ailleurs, je n'ai pas chercher à les faire tourner ; je me suis contenté d'essayer de comprendre en lisant) ; et ce que je n'ai pas compris, c'est le rôle du front controller : qu'est-ce qu'il fait et à quoi il sert.
ton front controller va te permettre de dispatcher tes actions
un exemple simple avec le zend framework
l'adresse : http://monappli/user/info
le front controller, va appeler le controller 'user' et l'action 'info'
avec un class type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 class UserController { public function InfoAction() { } }
dans l'exemple du tuto c'est pareil, si l'adresse est
http://monappli/index.php
il va chercher l'action list (celle par défaut)
http://monappli/index.php/show
il va chercher l'action show
Ce lien (http://monappli/user/info) ne marche pas...
OK
Je n'ai pas le temps ce soir, mais je creuse demain (je crois que pour vraiment comprendre, il faudra que je m'inspire de l'exemple, pour en créer un autre)
Finalement, j'ai dû laisser passer une semaine (j'avais trop de PHP à coder ! (en plus, c'est vrai)).
Je vais donc repasser à l'auto-formation aujourd'hui ; j'ai le choix entre ce que tu me proposes et la POO (que je ne connais pas non plus en PHP) ; mais bien que j'ai un petit vernis sur la POO, je privilégie ce que tu me soumets car je pense que c'est moins vaste, et que même si les deux sont intéressants, j'aurai plus vite fait d'étudier ton sujet que la POO : ai-je raison ?
Pas sûr, car dans un post précédent, dans l'exemple que tu cites, il y a une classe...
Je viens de commencer à me pencher sur ton lien sur Symphony, et j'essaie de faire tourner l'exemple, et j'ai un premier problème : le lien :car à priori, read est un fichier qui contient du PHP, donc read.php, ça irait, mais là ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="/read?id=<?php echo $post['id'] ?>">
D'accord, mais comme le reste du code est exécutable, c'était pas évident à voir...
La connection à MySQL marche si j'utilise ma fonction habituelle et pas celle de l'exemple, et je n'arrive pas à voir la différence :
méthode habituelle :avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 include_once("connect.php"); include("config.php"); include_once("model.php"); $link = connect(); $posts=get_all_posts_without_connexion($link); mysql_close($link); // include the HTML presentation code require 'templates/list.php';
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function get_all_posts_without_connexion($link) { $result = mysql_query('SELECT id, title FROM post',$link); $posts = array(); while ($row = mysql_fetch_assoc($result)) { $posts[] = $row; } return $posts; }et méthode de l'exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function connect() { $id_conn=mysql_connect(MYHOST,MYUSER,MYPASS);//les 3 ctes sont définies ds config.php mysql_select_db("adresse_db",$id_conn); return($id_conn); }
avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 include("config.php"); include_once("model.php"); $posts=get_all_posts(); // include the HTML presentation code require 'templates/list.php';
qu'est-ce qui cloche dans l'exemple ?
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 open_database_connection() { $id_conn=mysql_connect(MYHOST,MYUSER,MYPASS); $res=mysql_select_db("adresse_db", id_conn); return $id_conn; } function get_all_posts() { $link = open_database_connection(); $result = mysql_query('SELECT id, title FROM post', $link); $posts = array(); while ($row = mysql_fetch_assoc($result)) { $posts[] = $row; } close_database_connection($link); return $posts; }
$res=mysql_select_db("adresse_db", $id_conn);
t'affiches pas les erreurs ?
pourquoi avoir modifié le tuto ?
Si en plus, ça ne rajoute pas automatiquement les $ qu'on a oubliés... Merci (et j'ai rajouté l'affichage des erreurs que tu m'avais indiqué dans ce même fil, et ça m'a déjà servi car il manquait aussi un include).
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager