i M@N

  • Signature
    One Love, One Heart, One Unity.
  • Site web
  • Nombre de sujets
    92
  • Nombre de messages
    1 681
  • Nombre de commentaires
    35
  • Nombre de news
    Aucune
  • Niveau en PHP
    Bon

Ses derniers messages sur les forums

i M@N
le 31/10/2006 à 20:29
warning session_start()
Reuh ...

il fallait bien sûr lire :
<?php
/*bonne méthode*/
session_start();
?>


Tant que j'y suis faut donner l'erreur exacte, c'est justement "already sent by" qui qu'il serait intéressant de savoir ... pour ça faut le message d'erreur entier : on aurait l'orgine exacte de l'erreur avec la ligne du fichier correspondante.

@+...
One Love, One Heart, One Unity.
i M@N
le 31/10/2006 à 20:13
warning session_start()
Hello !

On place toujours le lancement de la session au tout début du script, voire avant toute sortie HTML (les erreurs et warning générés par PHP avant le lancement de la session comptent aussi, d'où l'intérêt de commencer par lancer la session smiley).
<?php
/*bonne méthode*/
session_strat();
/*là c'est bon y'a pas d'html avant*/
?>
<html>
<head>
<title>titre</title>
</head>
<body>
<?php
/*mauvaise méthode*/
session_start();
/*là ça va pas on a déjà envoyé du html*/
?>
bla bla bla>
</body>
</html>


@+...
One Love, One Heart, One Unity.
i M@N
le 27/10/2006 à 13:50
aide script news
Reuh ...

@ Keika : chui pas trop d'accord, il faut bien commencer par quelque chose ... en plus ce script est assez simple et permet de voir pusieurs fonctions de base de PHP / SQL : récupérations de variables issues de $_GET, création / interrogation de base de données SQL, affichage de données ...

Maintenant c'est clair qu'il faut pas avoir peur de tester juste des bouts de scripts et que se lancer en PHP sans connaître le HTML c'est un peu présomptueux ... puis faut vouloir apprendre et savoir chercher aussi.

Après pour les sessions y'a un comment faire un espace membre qui explique assez bien le système. Puis y'a la doc. smiley

@+...
One Love, One Heart, One Unity.
i M@N
le 27/10/2006 à 09:57
aide script news
Hello !

il y a encore pas mal de choses que je ne comprend pas :
1) le $idnews n'est pas défini ? si non comment ?
2) je ne comprend pas trop ou mettre ces liens, sur une nouvelle page ? si oui, comment automatiser l'affichage de supprimer/modifier sur cette page (pour rendre les modifications innacessibles de l'extérieur)

1) si, c'est ton lien (delete/update_news?id=1) puis le
<?php 
if (isset($_GET['id'])) $id = $_GET['id']; else $id = "";
?>
qui le définissent.

2) quand tu récupères tes données à l'affichage de tes news, tu récupères aussi le champ id 'autoincrément) et tu crées le lien :
<?php
/*...le début du code du script de news...*/
/*lancement de la requête*/
$sql = 'SELECT auteur, titre, date, texte_news FROM news ORDER BY date DESC';
/*on lance la requête (mysql_query)
et on impose un message d'erreur
si la requête ne se passe pas bien (or die) */
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
/*on va scanner tous les tuples un par un*/
while ($data = mysql_fetch_array($req)) {
/*on récupère les valeurs qui nous intéressent*/
$id_news = $data['id'];
$auteur = $data['auteur'];
$titre = $data['titre'];
$texte_news = $data['texte_news'];
/*on décompose la date*/
sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
/*on affiche les résultats*/
echo 'News de : ' , stripslashes(htmlentities(trim($auteur))) , '';
echo 'Titre : ' , stripslashes(htmlentities(trim($titre))) , '';
echo 'Postée le : ' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , ':' , $sec , '';
echo 'News : ' , nl2br(stripslashes(htmlentities(trim($texte_news)))) , '';
/*et là on ajoute un lien pour modifier et un pour effacer*/
echo '<a href="./update_news.php?id='.$id_news.'>mettre à jour</a>';
echo '<a href="./delete_news.php?id='.$id_news.'>effacer</a>';
}
/*on libère l'espace mémoire alloué pour cette requête*/
mysql_free_result ($req);
/*...la fin du code du script de news...*/
?>

Maintenant cette solution n'est pas tout à fait satisfaisante parce que les liens pour modifier / effacer sont visibles de tous ... il faut que tu apprennes les sessions pour faire un lien qui n'apparait que pour un administrateur par exemple qui aurait une variable de session "admin" = 1 ...

Enfin
"un imput de type hidden"
tu parlerais en chinois que ca reviendrait au meme pour moi ^_^
n'oubliez-pas que je suis un "noob" du php et que si vous voulez que je comprenne bien tout faut m'expliquer en detail x)
N'oublie pas que google est ton ami et que t'as aussi le droit de chercher. input type hidden c'est du HTML de base.

@+...
One Love, One Heart, One Unity.
i M@N
le 27/10/2006 à 09:33
Requète update multiples
ooops ... y'a pas de virgule avant le WHERE. :-/
One Love, One Heart, One Unity.
i M@N
le 27/10/2006 à 09:32
Requète update multiples
Hello !

Ben typiquement une reqête d'update c'est :
<?php
$sql = "UPDATE table_truc SET champ1='$variable1',champ2='$variable2',champ3='$variable3',WHERE id='$id'";
?>


Si t'as un souci reviens demander ... smiley

@+...
One Love, One Heart, One Unity.
i M@N
le 26/10/2006 à 17:45
Adapter un formulaire en register_globals off
Hello !
<?php
$Truc = $_FILES;
if (isset($_FILES)) $Truc = $_FILES;
$fichier = $_FILES['Truc']['name'];
$size = $_FILES['Truc']['size'];
$tmp = $_FILES['Truc']['tmp_name'];
$type = $_FILES['Truc']['type'];
$error = $_FILES['Truc']['error'];
else $Truc = '';
?>

[url]http://www.phpdebutant.org/article113.php[/url]

@+...
One Love, One Heart, One Unity.
i M@N
le 26/10/2006 à 11:07
affichage données
Hello !

Je dirais :
<?php
echo '<form method="GET" action="./mapage.php">';
echo 'Choisissez un truc :<br :>';
echo '<select size="1" name="mesmarque">';
include('./base_connexion.php');
$i=1;
/*lancement de la requête*/
$sql = 'SELECT mesmarques,name FROM moncatalogue ORDER BY name asc';
/*on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)*/
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
/*on va scanner tous les tuples un par un*/
while ($data = mysql_fetch_array($req)) {
/*on récupère les valeurs qui nous intéressent*/
$mesmarques = $data['mesmarques'];
/*on affiche les résultats*/
echo '<OPTION id="'.$i.'" VALUE="'.$mesmarques.'">'.$mesmarques.'';
$i++;
}
echo '</select>';
echo '<input type="submit" value="GO !">';
echo '</form>';
/*on libère l'espace mémoire alloué pour cette requête*/
mysql_free_result ($req);
?>

Si toutefois tu veux afficher le listing des champs "mesmarques" dans ton select ... pas très détaillé ta question donc réponse un peu au hasard.
Sinon faut aller voir du côté du HTML parce que ton select il était pas valide en HTML à la base.
Merci aussi d'utiliser les balises BBCode [ code ] et [ /code ] pour plus de lisibilité.

@+...
One Love, One Heart, One Unity.
LoadingChargement en cours