jackbocar

  • Site web
  • Nombre de sujets
    152
  • Nombre de messages
    456
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

jackbocar
le 06/09/2011 à 18:50
Aide class php
user_DB.php
<?php
require_once 'config.php';
class DB {

private static $_instance;

public function &pdo_connection(){
if(!self::$_instance){
try {
self::$_instance = new PDO(DSN,USERNAME,PASSWORD);
self::$_instance->setAttribute(PDO::ATTR_PERSISTENT, true);
self::$_instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $est) {
die("pdo connection error! ". $est->getMessage() ."<br/>");
}
}
return self::$_instance;
}
private function __construct() {
}
private function __clone() {}
}


class user extends DB {

private $db_connect= "";
public $id, $fname, $lname, $email, $password, $admin_id, $create_date, $enable;

public function __construct() {
$this->db_connect = $this->pdo_connection();
}
public function __destruct() {
$this->db_connect = null;

}
}
?>




insert.php
<?php
require_once 'user_DB.php';

public function insert(){
try {
if($this->checkExistEmail())
{
echo "User is already existed" . "<br/>";
return false;
}
else{
if(isset($this->fname) && isset($this->lname) && isset($this->email) && isset($this->password))
{
$query = 'INSERT INTO user
SET u_fname=:fname,
u_lname=:lname,
u_email=:email,
u_password=PASSWORD(:password),
u_create_date=now()';
$sql_statement = $this->db_connect->prepare($query);
$sql_statement->bindParam(':fname',$this->fname,PDO::PARAM_STR);
$sql_statement->bindParam(':lname',$this->lname,PDO::PARAM_STR);
$sql_statement->bindParam(':email',$this->email,PDO::PARAM_STR);
$sql_statement->bindParam(':password',$this->password,PDO::PARAM_STR);

if(!$sql_statement->execute()) {
return false;
}
return true;
}
else {

return false;
}
}
}
catch(PDOException $e){
echo "error! can't insert into the user information" . $e->getMessage() . "<br/>";
return false;
}
}
?>




Formulaire
<?php
require_once 'user_DB.php';
?>


<form method="post" action="insert.php">
Nom : <input type="text" id="fname" name="fname" size="20" maxlength="50" /><br />
Prénom : <input type="text" id="lname" name="lname" size="20" maxlength="50" /><br />
Email : <input type="text" id="email" name="email" size="50" maxlength="100" /><br />
password : <input type="text" id="password" name="password" size="20" maxlength="50" /><br />
<input type="submit" value="Save" />
</form>

Parse error: syntax error, unexpected T_PUBLIC in insert.php on line 4

J'ai essayé de nouveau comme ceci et ça ne fonctionne toujours pas
jackbocar
le 06/09/2011 à 18:29
Aide class php
<?php
require_once 'user.php';

function insert(){
}
?>

<form method="post" action="user.php">
Nom : <input type="text" id="nom" name="nom" size="20" maxlength="50" /><br />
Prénom : <input type="text" id="prenom" name="prenom" size="20" maxlength="50" /><br />
Email : <input type="text" id="email" name="email" size="50" maxlength="100" /><br />
password : <input type="text" id="password" name="password" size="20" maxlength="50" /><br />
<input type="submit" value="Save" />
</form>

J'ai essayé comme ceci, et ça fonctionne pas.
jackbocar
le 06/09/2011 à 17:27
Aide class php
Bonjour

Désolé, je n'ai jamais encore utilisé de class php, alors un coup de main sera le bienvenu, il faut aussi que vous inscriviez là où cela doit être placé les bouts de codes dans action et celui qui contrôle la class (insert) du formulaire. Cette aide me servira pour utiliser le reste de la class php.

Si je veux me servir d'une class php, et que je veux utiliser cette fonction avec un formulaire.
<?php public function insert() ?>


Que dois-je inscrire dans action ?

Où placer cette ligne de code pour que ça fonctionne avec le formulaire ?
<?php public function insert() ?>


Par avance merci pour votre aide
Jack Bocar


<?php
require_once 'config.php';

public function insert(){
try {
if($this->checkExistEmail())
{
echo "User is already existed" . "<br/>";
return false;
}
else{
if(isset($this->nom) && isset($this->prenom) && isset($this->email) && isset($this->password))
{
$query = 'INSERT INTO user SET nom=:nom, prenom=:prenom, email=:email, password=PASSWORD(:password), create_date=now()';
$sql_statement = $this->db_connect->prepare($query);
$sql_statement->bindParam(':nom',$this->nom,PDO::PARAM_STR);
$sql_statement->bindParam(':prenom',$this->prenom,PDO::PARAM_STR);
$sql_statement->bindParam(':email',$this->email,PDO::PARAM_STR);
$sql_statement->bindParam(':password',$this->password,PDO::PARAM_STR);

if(!$sql_statement->execute()) {
return false;
}
return true;
}
else {

return false;
}
}
}
?>


Comment ecrire cette fonction pour ce formulaire ?
<?php public function insert() ?>


<form method="post" action="">
Nom : <input type="text" id="nom" name="nom" size="20" maxlength="50" /><br />
Prénom : <input type="text" id="prenom" name="prenom" size="20" maxlength="50" /><br />
Email : <input type="text" id="email" name="email" size="40" maxlength="100" /><br />
Password : <input type="pasword" id="password" name="password" size="20" maxlength="50" /><br />
<input type="submit" value="Save" />
</form>
jackbocar
le 15/07/2011 à 18:49
Erreur SQLSTATE[HY000]
Bonjour

Je ne comprends toujours pas.
Ce code fonctionne très bien sur mon système Linux Ubuntu et plus sur mon système Windows que j'ai paramètre moi-même.

Je pense vraiment de plus en plus qu'il y a une incompatibilité entre Mysql et php ou une autre que je ne peux définir.


Mon formulaire, est un simple test :
<form name="formulaire" method="post" action="add_chartes.php?go=ok">
Numéro : <input type="text" id="numero" name="numero" size="80" maxlength="150" /><br />
Date : <input type="text" id="date" name="date" size="80" maxlength="150" /><br />
Sources : <input type="text" id="sources" name="sources" size="80" maxlength="150"/><br />
Nom : <input type="text" id="nom" name="nom" size="80" maxlength="150" /><br />
Département : <input type="text" id="dep" name="dep" size="80" maxlength="150" /><br />
Ville : <input type="text" id="ville" name="ville" size="80" maxlength="150" /><br />
Pays : <input type="text" id="type" name="type" size="80" maxlength="150" /><br />
News : <textarea id="news" name="news" cols="60" rows="10"></textarea><br />
<input type="submit" value="Save" />
</form>


<?php
$hostname = 'localhost';
$username = 'usename';
$password = 'password';
$dbname = 'my_base';
include ('functions_caracteres.php');
try {
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

if (isset($_GET['go']) && $_GET['go'] == 'ok') {
if (!empty($_POST['numero']) && !empty($_POST['date']) && !empty($_POST['sources']) && !empty($_POST['nom']) && !empty($_POST['ville']) && !empty($_POST['dep']) && !empty($_POST['type']) && !empty($_POST['news'])) {

$sql = 'INSERT INTO chartes_bullaire VALUES("", "'.addslashes($_POST['numero']).'", "'.addslashes(caracteres($_POST['date'])).'", "'.addslashes(caracteres($_POST['sources'])).'", "'.addslashes(caracteres($_POST['nom'])).'", "'.addslashes(caracteres($_POST['ville'])).'", "'.addslashes(caracteres($_POST['dep'])).'", "'.addslashes($_POST['type']).'", "'.addslashes(caracteres($_POST['news'])).'", "0")';
$dbh->exec($sql);
header('Location: liste_modif.php');
exit();
}
else {
$message = '<span class="R">Au moins un des champs obligatoires est vide</span>.';
}
}
if (isset($_POST['numero'])) $_POST['numero'] = $_POST['numero'];
if (isset($_POST['date'])) $_POST['date'] = $_POST['date'];
if (isset($_POST['sources'])) $_POST['sources'] = $_POST['sources'];
if (isset($_POST['nom'])) $_POST['nom'] = $_POST['nom'];
if (isset($_POST['ville'])) $_POST['ville'] = $_POST['ville'];
if (isset($_POST['dep'])) $_POST['dep'] = $_POST['dep'];
if (isset($_POST['type'])) $_POST['type'] = $_POST['type'];
if (isset($_POST['news'])) $_POST['news'] = $_POST['news'];
}
catch(PDOException $e)
{
echo $sql . '<br />' . $e->getMessage();
}
?>

<?php
if (isset($message)) {
echo '<br /><span class="R">'.$message.'</span>';
}
?>
jackbocar
le 15/07/2011 à 15:12
Erreur SQLSTATE[HY000]
Bonjour,
voici la structure de ma table :
--
-- Structure de la table `chartes_bullaire`
--

DROP TABLE IF EXISTS `chartes_bullaire`;
CREATE TABLE IF NOT EXISTS `chartes_bullaire` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`numero` nchar(10),
`date` nvarchar(100),
`sources` nvarchar(150),
`nom` nvarchar(100),
`ville` nvarchar(100),
`dep` nvarchar(100),
`type` nvarchar(150),
`news` longtext,
`visible` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Je ne comprends toujours pas.

J'ai vu sur quelques site que ce serait-être mon programme Mysql qui ne serait plus à jour ?

Ou alors une mise à jour pas très bien réussi ?

Merci de ta réponse.

Jack
jackbocar
le 14/07/2011 à 17:49
Erreur SQLSTATE[HY000]
Bonjour,

J'ai une erreur et je ne sais pas ce qu'elle veut dire :
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'id' at row 1

Hier, j'ai utilisé mon formulaire pour enregistrer plusieurs dizaines de champs, et cela fonctionnait parfaitement bien.

Quelqu'un peut-il me dire ce qu'il se passe.

Merci

Jack
jackbocar
le 17/06/2011 à 18:43
Oracle, Mysql
Bonjour

Mais alors quel est le réel intérêt d'Oracle d'avoir acheter MySql ?
Mis à par de faire à terme Disparaitre un concurrent, je ne comprends pas trot leur stratégie.

Ce matin j'ai lu sur le journal que le constructeur HP avait porté plainte contre Oracle car il refuse d'adapter des logiciels à certains ordinateurs du numéro 1 mondial.

Jack Bocar
jackbocar
le 12/06/2011 à 15:59
Oracle, Mysql
Bonjour,

Merci de vos réponses.
Mon hébergeur est équipé Oracle, je voulais tester et peut-être adopter. Mais si Oracle est payant, je ne le ferais pas.
J'ai lu sur un site spécialisé que MySql avait été racheté par SUN ou Oracle, et, que les administrateurs de Sun ont dit qu'ils ne feraient pas autant de recherches, d'améliorations et de mise à jour sur MySql, qu'ils en font pour Oracle. Ils ont simplement promis de ne pas « et ce dans l'immédiat » abandonner MySql.

Alors peut-être serons-nous un jour prochain, obligés de faire des choix. Mais, je ne vois pas grand-chose d'aussi simple et efficace que Mysql.

Merci encore de vos réponses
Jack Bocar
jackbocar
le 09/06/2011 à 18:37
Oracle, Mysql
Bonjour

Que pensez-vous d'Oracle ?
Quels sont les avantages ou les inconvénient par rapport à MySql.

Oracle est-ce simple à utiliser ?

Merci pour vos informations

Jack Bocar
LoadingChargement en cours