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
Version imprimable
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û mettreCode:<form method="post" action="<?=$_SERVER["PHP_SELF"]?>">
(j'avais pompé ça dans un bouquin)Code:<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:<a href="http://une_url?data1=<?=$var1?>&data2=<?=$var2?> etc">
en normale,
oublie pas le echoCode:<?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:<?php echo $var1 ?>
c'est pareil,
etCode:<?= $var1 ?>
c'est exactement la même choseCode:<?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 ?Citation:
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:
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 :mouarf: :mouarf:
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:<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:
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';
etCode:
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:
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:
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:
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...:D Merci :ccool: (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).