Correction des fichiers php

Eléphanteau du PHP | 47 Messages

01 sept. 2009, 16:01

Si j'ai bien compris il a fait ça :
include("./includes/haut.php");
else
{
if(isset($_POST['requete']))
{
Ce qui ne résous pas un problème, j'avais proposer de supprimer l'accolade sachant qu'elle à rien y faire sur le code qu'on as.
Après avoir mieux regarder j'ai vu le else et celui-ci est bien fermer en fin de fichier.
A croire qu'il y a un code qui inclue celui poster sur ce forum sinon c'est une erreur.

Faudrait plus d'information là dessus pour qu'on t'aide ;)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

01 sept. 2009, 16:03

Oui c'est sûr que ce n'est pas clair, étonnant de mettre un IF dans un include pour mettre le ELSE en dehors.

Eléphant du PHP | 58 Messages

01 sept. 2009, 16:17

j'enleve des balses php?
include("./includes/haut.php");
}
else
{
if(isset($_POST['requete']))
{

Avatar du membre
ViPHP
ViPHP | 3008 Messages

01 sept. 2009, 16:20

Houlà non, ce qui est en PHP doit rester entre les balises en question. Je te parlais de ton formulaire où aucun code php ne s'y trouve.

Sinon pour ce petit morceau de code qu'il y a t-il dans haut.php ?

Apparemment tu es vraiment débutant, aussi bien PHP que HTML. Je te conseille d'aller faire un tour sur les sites avec des tutos sur les bases du PHP avant de continuer. Sinon tu risquerais de t'y perdre très vite.

Eléphant du PHP | 58 Messages

01 sept. 2009, 16:36

J'ai deja lu les cours, c'est apres ca que j'ai commencé le creer.
dans haut.php, je met ce qui est en entete: banniere, etc...

voila j'ai corrigé:

<?php
include("./includes/haut.php");
}
else
{
if(isset($_POST['requete']))
{
mysql_connect("", "", "");
mysql_select_db("");

$nom=$_POST['nom'];
$nom=mysql_real_escape_string($_POST['nom']);
$photo=$_POST['photo'];
$photo=mysql_real_escape_string($_POST['photo']);
$biographie=$_POST['biographie'];
$biographie=mysql_real_escape_string($_POST['biographie']);
$rq="INSERT INTO artiste( nom, photo, biographie) VALUES( '$nom', '$photo', '$biographie')";
mysql_query($rq) or die(mysql_error());
echo"Artiste ajouté avec succès !";
}
?>
echo"<form method='post' action='ajout_artiste.php'>


           <label for='nom'>Nom</label><br />
           <input type='text' name='nom' id='nom' tabindex='20' value=''/><br >

       <label for='photo'>photo</label><br />
       <input type='text' name='photo' id='photo' tabindex='20' value=''/><br />

             <label for='biographie'>Biographie</label><br />
           <textarea name='biographie' id='biographie' cols='35' rows='8' tabindex='70'>
           </textarea>
           <br /><br />

  <input type='submit' value='Ajouter l'artiste' name='requete' />

</form>";
<?php
}
include("./includes/bas.php");
?>


Avatar du membre
ViPHP
ViPHP | 3008 Messages

01 sept. 2009, 16:39

Tu as laissé le echo " ... "; qui ne devrait plus être là.

Doublons avec :
$nom=$_POST['nom'];
$nom=mysql_real_escape_string($_POST['nom']);
$photo=$_POST['photo'];
$photo=mysql_real_escape_string($_POST['photo']);
$biographie=$_POST['biographie'];
$biographie=mysql_real_escape_string($_POST['biographie']);
Ma demande concernant ton fichier haut.php correspond plutôt au code qui s'y trouve. Car après l'include tu mets une accolade et tu mets un else ce qui est très bizarre...

Eléphant du PHP | 58 Messages

01 sept. 2009, 16:43

pour haut.php, je met plutot la banniere, pour ca je dois enlever le else?

ensuite il y a 2 echos dans mon fichier, tu parle celui la?
echo"Artiste ajouté avec succès !";

Avatar du membre
ViPHP
ViPHP | 3008 Messages

01 sept. 2009, 16:47

Si j'ai bien compris ce que tu veux faire :
Sur ta page ta as un HAUT et un BAS en include. On commence donc par là :
<?php
include("./includes/haut.php");
?>
contenu de ta page
<?php
include("./includes/bas.php");
?>
Ensuite dans le contenu :
Tu affiches ton formulaire :

Code : Tout sélectionner

<form method="post" action="ajout_artiste.php"> <label for="nom">Nom</label><br /> <input type="text" name="nom" id="nom" tabindex="20" value=""/><br > <label for="photo">photo</label><br /> <input type="text" name="photo" id="photo" tabindex="20" value=""/><br /> <label for="biographie">Biographie</label><br /> <textarea name="biographie" id="biographie" cols="35" rows="8" tabindex="70"></textarea> <br /><br /> <input type="submit" value="Ajouter l'artiste" name="requete" /> </form>
Lorsqu'on va cliquer sur le bouton submit, tu ajoutes les informations dans ta base :
if(isset($_POST['requete']))
{
	mysql_connect("", "", "");
	mysql_select_db("");
	
	$nom = mysql_real_escape_string($_POST['nom']);
	$photo = mysql_real_escape_string($_POST['photo']);
	$biographie = mysql_real_escape_string($_POST['biographie']);
	$rq = "INSERT INTO artiste( nom, photo, biographie) VALUES('".$nom."', '".$photo."', '".$biographie."')";
	mysql_query($rq) or die(mysql_error());
	echo "Artiste ajouté avec succès !";
}
Le code ressemblerait donc à :
<?php
include("./includes/haut.php");

if(isset($_POST['requete']))
{
	mysql_connect("", "", "");
	mysql_select_db("");
	
	$nom = mysql_real_escape_string($_POST['nom']);
	$photo = mysql_real_escape_string($_POST['photo']);
	$biographie = mysql_real_escape_string($_POST['biographie']);
	$rq = "INSERT INTO artiste( nom, photo, biographie) VALUES('".$nom."', '".$photo."', '".$biographie."')";
	mysql_query($rq) or die(mysql_error());
	echo "Artiste ajouté avec succès !";
}
else
{
?>
<form method="post" action="ajout_artiste.php">
	<label for="nom">Nom</label><br />
	<input type="text" name="nom" id="nom" tabindex="20" value="" /><br />

	<label for="photo">photo</label><br />
	<input type="text" name="photo" id="photo" tabindex="20" value="" /><br />

	<label for="biographie">Biographie</label><br />
	<textarea name="biographie" id="biographie" cols="35" rows="8" tabindex="70"></textarea>
	<br /><br />
	<input type="submit" value="Ajouter l"artiste" name="requete" />
</form>
<?php
}
include("./includes/bas.php");
?>

Eléphanteau du PHP | 47 Messages

01 sept. 2009, 16:52

Je viens d'avoir une idée, n'as tu pas une balise ouvrant dans ton fichier haut.php ?
Dans ce cas ça résoudrais la question, mais j'aimerais bien en être sûre.

Mais un conseille ferme toujours les accolades que tu ouvre dans un fichier. Sinon tu vas jamais t'en sortir. Avec 2 fichiers c'est jouable mais tu verra tu va vite passer à bien plus et là tu ne dois plus faire ce genre de chose.
Modifié en dernier par Rem73 le 01 sept. 2009, 21:11, modifié 1 fois.

Eléphant du PHP | 58 Messages

01 sept. 2009, 17:10

merci beaucoup de m'avoir expliqué.
ensuite ces informations sont enregistré alors dans ma bdd, et ensuite je veux recuperer les informations de l'artiste dans le fichier artiste.php, dans un cadre 2 lignes: 1er ligne nom de l'artiste, et le 2eme: le photo et le biographie cote a cote. mais ce que je ne suis pas sur que c'est juste c'est ca: enfaite dans une autre cadre, je veux afficher les titres de ses clips, sous la forme:
TOUT SES CLIPS
Les titres...

mais je ne sais pas exactement comment faire,
autre chose: concernant concert: ensuite je veux afficher tous les concerts des artistes concernés. (il me reste encore les parties concerts: concert.php ajout_concert.php et clips.php ajout_clips.php

J'envoye une nouvelle fois le code artiste.php
<?php
include("./includes/haut.php");
if(!isset($_GET['id'])) 
{
header("Location: index.php");
}
elseif(!is_numeric($_GET['id'])) 
{
header("Location: index.php");
}
else 
{
?>

<div id="artiste">
<?php
mysql_connect("", "", "");
mysql_select_db("");
?>
<p><?php $requete="SELECT * FROM artiste WHERE ID='".$_GET['id']."'";
$result=mysql_query($requete); $artiste=mysql_fetch_array($result); 
echo "Nom : ".$artiste['nom']." photo : ".$artiste['photo']." Biographie : ".$artiste['biographie']; ?></p>
</div>

<div id="clips">
<p><?php $requete="SELECT * FROM clips WHERE ID_clip='".$_GET['id']."' ORDER BY id DESC LIMIT 0, 5"; //Je veux afficher les titres des clips... je ne sais pas comment faire exactement,
$result=mysql_query($requete); $clip=mysql_fetch_array($result); ?></p>
</div>

<div id="concert">
<p><?php
$retour = mysql_query('SELECT * FROM concert ORDER BY id DESC');
while ($donnees = mysql_fetch_array($retour))
{
$selection_date_de_concert = mysql_query("SELECT * FROM `concert` WHERE artiste = '".$nom."'");
while($affiche_date_de_concert = mysql_fetch_array($selection_date_de_concert))
{
    $date_de_concert = $affiche_date_de_concert['date']; //Je veux afficher tous les concerts des artistes concernés ici, mais je ne sais pas si on doit recuperer tout, ou est-ce qu'il le fait a partir des dates?
    $id_de_concert = $affiche_date_de_concert['id'];
}

}
?></p>
</div>
<?php 
}
include("./includes/bas.php");
?>
mais a propos ajout_concert.php et ajout_clips.php, c'est exactement pareil que ajout_artiste?
ou il y a des changements pour l'un ou les 2 ficiers?

merci par avance

Eléphant du PHP | 58 Messages

01 sept. 2009, 17:17

Je viens d'avoir une idée, n'as tu pas une balise ouvrant dans ton fichier haut.php ?
Dans ce cas ça résoudrais la question, mais j'aimerais bien en être sûre.

Mais un conseille ferme toujours les balises que tu ouvre dans un fichier. Sinon tu vas jamais t'en sortir. Avec 2 fichiers c'est jouable mais tu verra tu va vite passer à bien plus et là tu ne dois plus faire ce genre de chose.
enfaite, j'ai pas encore fais le haut.php mais ca va etre de ce type:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>

et apres la banniere

et ok pour le conseil, et merci

Eléphanteau du PHP | 47 Messages

01 sept. 2009, 17:50

Donc tout devrait marcher avec les instructions de charabia

Eléphant du PHP | 58 Messages

01 sept. 2009, 18:07

oui