Besoins aide de corriger un travail de php

Signaler
Messages postés
1
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
6 mars 2012
-
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014
-
salut,
j'ai realiser un premier travail de php et j'ai des erreurs ,et je demande à un(e) personne pour avoir aider
dans ce travail ,ce dernier avoir une classe personne avec trois fonctions ajouter ,supprimer, modifier
et autre classe de exception ,afficher et autre page pour inclure les classes entre le code html et merci d'avance.
classe personne

<?php
class personne
{
private $id;
private $nom;
private $prenom;
private $adresse;
private $cd;
private $telephone;

// les acesseurs id

public function getid()
{
return $this->id;
}
public function setid($id)
{

        $this->id=$id;
    
}

//les acesseurs nom
public function getnom()
{
return $this->nom;
}
public function setnom($nom)
{
return $this->nom=$nom;
}

//les acesseurs de prenom
public function getprenom()
{
return $this->preonm=prenom;
}
public function setprenom($prenom)
{
$this->prenom=$prenom;
}

//les acesseurs de adresse
public function getadress()
{
return $this->adress;
}
public function setadress($adress)
{
$this->adress=$adress;
}
// les acesseurs codepostal
public function getcd()
{
return $this->cd;
}
public function setcd($cd)
{
$this->cd=$cd;
}
//les acesseurs de tel
public function gettelephone()
{
return $this->telephone;
}
public function settelephone($telephone)
{
$this->telephone=$telephone;
}

public function ajouter()
{
$con=mysql_select_db('localhost','root');
mysql_select_db('infos',$con);
mysql_query('insert into `personnes`(`nom`,`prenom`,`adresse`,`cp`,`telephone`)values(`'.$this->nom.'`,`'.$this->prenom.'`,`'.$this->adresse.'`,`'.$this->cp.'`,`'.$this->telephone.'`)');
echo'<script type="text/javascript">
alert("ajout effectuer");
</script>';
}
public function modifier($id)
{
$con=mysql_select_db('localhost','root');
mysql_select_db('infos',$con);
mysql_query('UPDATE `personnes` set `nom`='.$this->getnom().',`prenom`='.$this->getprenom().',`adress`='.$this->getadress().',`cd`='.$this->getcd().',`telephone`='.$this->gettelephone().' where id='.$id);
echo'<script type="text/javascript"> alert ("opération effectuer ");</script>';}




//fonction supprimer
public function supprimer($id)
{
$con=mysql_connect('localhost','root');
mysql_select_db('infos',$con);
$sql=("Delete from `personnes` where `id`=".$id);
echo $sql;
$requete=mysql_query($sql,$con);

if($requete)
  {
    echo("La suppression à été correctement effectuée") ;
  }
  else
  {
    echo("La suppression à échouée") ;
  }

}


}

?>

page inscription avoir la fonction ajouter dans index
<?php
include("connexion.php");
$com=connexion("infos","index-3");

include("personne.php");

if(isset($_POST['ok']))
{
if(!empty($_POST['nom'])&&!empty($_POST['prenom'])&&!empty($_POST['adresse'])&&!empty($_POST['codepostal'])&&!empty($_POST['telephone']))
{
$p=new personne();
$p->setnom($_POST['nom']);
$p->setprenom($_POST['prenom']);
$p->setadresse($_POST['adresse']);
$p->setcd($_POST['codepostal']);
$p->settelephone($_POST['telephone']);
$p->ajouter();

}
}

?>

classe afficher
<?php
class afficher
{
public function affichertout($id,$nom,$prenom,$adresse,$cd,$telephone)
{
$con=mysql_connect('localhost','root');
mysql_select_db('infos',$con);
$rep=mysql_query("select * from `personnes`");
while ($data=mysql_fetch_array($rep)) 
{
//echo(" id est :".$data['id']."  nom ".$data['nom']."  prenom  : ".$data['prenom']."adresse est :".$data['adresse']."codepostal est :".$data['cd']."telephone est :".$data['telephone']"
";}
$id=$data["id"];
$nom=$data["nom"];
$prenom=$data["prenom"];
$adresse=$data["adresse"];
$cd=$data["cd"];
$telephone=$data["telephone"];
}
}
}
?>

page pour afficher en page html et permet aussi de supprimer et modifier selon id selectionner par array
<?php
include("connexion.php");
include("exception.php");
include("cafficher.php");
include("personne.php");

// debut de tabelau
echo ''.\"\n\";
// premiere ligne on affiche les titres de tables personnes
echo '----
';
echo 'id, ';
echo 'Nom, ';
echo 'Prenom, ';
echo 'Adresse, ';
echo 'Code Postal, ';
echo 'Telephone, ' ;
echo ', ' ;

echo ''.\"\n\";
// lecture et affiche
while($data = mysql_fetch_array($cm)) {
echo '----
';
echo ''.$data["nom"].', ';
echo ''.$data["prenom"].', ';
echo ''.$data["adresse"].', ';
echo ''.$data["cp"].', ';
echo ''.$data["ville"].', ';
echo', '
echo ''.\"\n\";
if(isset($_post['supprimer'] && $id=$_get[\"id\"])
{
$pr=new personne()
$pr->supprimer($id);
}
}
    echo '
'."\n";
    // fin du tableau.
}


?>

page de modification
<?php
include("connexion.php");
include("exception.php");
include("personne.php");

$id = $_GET["id"] ;
$result->nom;
$result->prenom;
$result->adresse;
$result->cd;
$result->telephone;

&requete=personne.modifier($id)
if( $result = mysql_fetch_object( $requete ) )
  {
  ?>
<form name="insertion" action="modification3.php" method="POST">
  ">
  nom,
nom) ;?>">,

----

prenom,
prenom) ;?>">,

----

adresse,
adresse) ;?>">,

----

code postal,
cp) ;?>">,

----

numero de telephone,
telephone) ;?>">,

----


</form>

?>
}
?>

classe de exception
<?php
//gestion des erreurs avec les exceptions 
class erreur extends exception 
{
public function __construct($msg)
{
parent::__construct($msg);
}
public function retourneerreur()
{
$msg='
'.$this->getmessage().'';
var $msg='ligne:' $this->getline()
'';
return $msg;
}
}
?>

et merci d'avance

1 réponse

Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014

Bonjour,

Les classes n'ont pas de constructeur ? Pour, par exemple donner des valeurs par défaut à tes attributs de classe.

Mettre les getters et setters c'est tout à fait valable, mais php est assez souple pour se permettre l'utilisation des méthodes magiques__get(), __set().

Dans la classe personne, les méthodes ajouter, modifier font un echo. Je ne pense pas que cela soit leur rôle, je ferais plutôt un return de mysql_query. Et l'affichage du message éventuel se fait dans ta vue.

Et pourquoi ne pas mettre ta connexion à la base de donnée dans une classe ? Car admettons que tu veuilles présenter ton travail autre part que sur localhost ... Tu es obligé de tout modifier à la main ?

voilà rapidement. En tout cas cela fait plaisir de voir quelque chose de propre.

________________________________________
( $toBe || !$toBe ) = $this->Question();