Ses derniers messages sur les forums
Tu veux mettre le contenu de tes vidéos dans des variables php?!!
Houla, ça va faire énorme et je pense pas que tu te diriges dans le bon sens.
Tu vas saturer ta mémoire et php va te jeter.
Pour faire du streaming (lecture en continue en ligne) tu dois avoir un lecteur. Je pense que flash est pas mal pour ça. Il semble se démocratiser et être de plus en plus installé sur les ordi (merci youtube).
T'as juste à créer ou à chercher un lecteur flash.
J'suis pas très fan de COM ça fonctionne que sous windows.
Tu peux pas créer une petite classe qui fait du MHT?
C'est ni plus ni moins que tu html avec le type mime dedans donc rien de transcendant ni rien de bien compliqué. Regarde du coté de DomDocument et de fileinfo
Lecture de la base de données --> moteur de template smarty + ton template formaté pour smarty --> affichage dans le navigateur
Pour le reste il suffit de lire la doc smarty qui explique comment utiliser le moteur de template et comment construire ton template pour qu'il remplace correctement tes valeurs dans celui-ci.
Juste une question pourquoi utiliser un moteur de template alors que PHP est lui même un moteur de template natif?
Aucun autre moteur ne sera plus rapide qu'un <?php echo $mavar;?> et c'est pas beaucoup plus compliqué qu'un {mavar} même pour un designer
C'est simple tu télécharges ta photo dans un dossier temporaire avec un identifiant unique et tu affiches ton formualaire avec un lien vers celle-ci.
Tu n'auras qu'a déplacé ensuite l'image après validation du formulaire
<?php
//voila une méthode de débuggage que tu peux utiliser.
$filename = '../config.'.$ext;
if(!is_file($filename))
{
echo'Le fichier `'.$filename.'` n\'existe pas.';
}
elseif(!is_writable($filename))
{
echo'Le fichier `'.$filename.'` n\'est pas accessible en écriture.';
}
elseif(!is_readable($filename))
{
echo'Le fichier `'.$filename.'` n\'est pas accessible en lecture.';
}
else
{
require($filename);
}
?>
Tu peux faire la même chose avec le deuxième fichier à inclure. Il faut juste remplacer $filename par le bon fichier.
Juste une note au cas où. Le ../ indique que le fichier est présent dans le dossier parent donc regarde qu'il y a bien le fichier sinon change le chemin.
Un truc général et qui évite pas mal de problèmes est de configurer son serveur local à l'identique du serveur utiliser en production.
Même version de php, même modules, même fichier de configuration etc
Pour les redirections je suis d'accord c'est lourd comme méthode. Le plus simple selon moi est d'indiquer à l'utilisateur son erreur (mettre les champs en rouge pas exemple et mettre une petite phrase explicative) c'est clair et facile à maintenir.
Puis un truc qui me saute aux yeux et que je trouve peu optimiser voir dangereux c'est d'afficher la requête en cas d'erreur. C'est vraiment à éviter
Bon déjà un truc
mysql_real_escape_string doit être utilisé UNIQUEMENT lorsque la connexion à la base de données est établie.
Ensuite tu devrais afficher tes données pour les débugger
print_r($data); pour voir si les données sont bien conforme au jeu pseudo/password (fais le test avec plusieurs utilisateurs) et compare
print_r($_SESSION);
et navigue sur ton site pour voir la page qui change la session.
Tu cherches à afficher $_POST['num_client']; alors que celui-ci n'a pas été définit. Donc php te le dit.
Juste un truc en passant. C'est super dangereux d'afficher les données non filtré comme ça. Tu t'exposes à pas mal de problèmes.
Je t'invite à regarder du coté de filter_var et filter_array pour filtrer un minimum tes données.
Tu peux aussi utiliser le bon vieux strip_tags qui élimine les balises.
Regarde aussi du coté de htmlentities avant d'afficher tes données, ça transforme les caractères spéciaux en entitiés html.
ça devrait t'aider un peu
En fait la réponse est simple tu tests l'existance de tes données alors que ton formulaire n'a pas encore été complété donc dès le début tu entres dans la condition et ton exit; arrête le script.
Tu dois tester que ton bouton submit à bien été appuyer avant de tester les données du formulaire.
exemple :
<?php
if(isset($_POST['envoyer']))
{
echo'formulaire envoyé';
//là je test mes données
}
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post">
<input type="submit" name="envoyer">
</form>
Puis il serait bien que tu écrives un message d'erreur pour chaques champs obligatoire.
Un peu comme ça :
<?php
$champ1 = isset($_POST['champ1']) ? $_POST['champ1'] : '';
if(empty($champ1))
{
echo'Vous devez remplir le champ 1';
}
?>
Pour débugger tu peux faire quelque chose comme ça
print_r($_REQUEST); ça va te retourner l'ensemble du tableau associatif envoyer lorsque tu cliques sur ton bouton envoyer. ça va te permettre de voir les données envoyer et de voir ou ça coince.
Juste un truc en passant. $_REQUEST c'est pas terrible comme méthode...utilises plutot $_POST ou $_GET tu auras plus de chance de savoir d'où viennent tes données. Pour utiliser $_POST et $_GET ajouter method="post" ou method="get" à ta balise form