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 sujets sur les forums

jackbocar
le 24/04/2010 à 11:39
Remplacer des mots
Bonjour,

Si je veux remplacer les mots suivant : Chagrin, Chagriner, Chagrineriez
Par : sorrow, To grieve, Would grieve

Le résultat est comme ceci : sorrow, sorrower, sorroweriez.

Comment faire pour qu'il accepte tous les mots comme des mots différent et qu'il n'ajoute pas simplement la terminaison ?


<?php
function caracteres($chaine){
$chaine = str_replace
(array('Chagrin','Chagriner','Chagrineriez')
, array ( 'sorrow'//Chagrin
, 'To grieve'//Chagriner
, 'Would grieve'//Chagrineriez
)
, $chaine
) ;
return $chaine;
}
?>


<?php
$hostname = 'localhost';
$username = 'xxxxxx';
$password = 'cccccc';
$dbname = 'traduction';

try {
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT id, news FROM francais WHERE id='4'";
foreach ($dbh->query($sql) as $row)
{
print $row['id'] .' - <h1>'. caracteres($row['news']) . '</h1><br /><br />';
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>


Merci de vos conseils

Jack Bocar
jackbocar
le 13/03/2010 à 11:47
Enregistrement données avec ce code
Bonjour,

Question, est-il possible d'enregistrer des données dans une table avec un formulaire en utilisant le code ci-dessous ?

<?php
include 'class_connexion.php';

$add = new add();

/*** The DSN ***/
$add->dsn = "mysql:dbname=ordre;host=localhost";

/*** MySQL username and password ***/
$add->username = 'mot de passe';
$add->password = 'XXXXXXXX';


/*** array of values to insert ***/
$values = array(
array('name'=>'chien', 'type'=>'dog'),
array('name'=>'chien', 'type'=>'berger'),
);

/*** insert the array of values ***/
$add->dbInsert('animals', $values);

/*** select all records from table ***/
$records = $add->rawSelect('SELECT * FROM animals');

/*** fetch only associative array of values ***/
$rows = $records->fetchAll(PDO::FETCH_ASSOC);

/*** display the records ***/
foreach($rows as $row)
{
foreach($row as $fieldname=>$value)
{
echo $fieldname.' = '.$value.'<br />';
}
echo '<hr />';
}
?>
jackbocar
le 21/01/2010 à 16:40
PATH_INCLUDE undefined constant
Bonjour,

Comment puis-je règler ce problème ?

Je suppose que c'est dans php INI.

Notice: Use of undefined constant PATH_INCLUDE - assumed 'PATH_INCLUDE'

Merci

Jack Bocar
jackbocar
le 03/01/2010 à 18:01
Problème de avec path_include
Problème de avec path_include

Je ne sais pas ce qu'il se passe, je voulais changer mes liens en local pour commencer qui sont comme ceci :

<link href="./_css/main.css" rel="stylesheet" type="text/css" /> /- page index -/

<link href="../_css/main.css" rel="stylesheet" type="text/css" /> /- répertoire -/

<link href=".../_css/main.css" rel="stylesheet" type="text/css" /> /- sous-répertoire -/

par

<?php
define ('PATH_HTTP', 'http://mon-site.com');
define ('PATH_INCLUDE', 'D:/www/mon-site.com');
?>

pour arriver à ceci :

<link href="<?php echo PATH_HTTP; ?>/_css/main.css" rel="stylesheet" type="text/css" />

Rien à faire ...

Voici mon php
http://localhost/info.php

PHP Version 5.2.6-1+lenny4

PHP Variables
_SERVER["PATH"] /usr/local/bin:/usr/bin:/bin

PHP Core
include_path .:/usr/share/php:/usr/share/pear .:/usr/share/php:/usr/share/pear


Environnement
PATH /usr/local/bin:/usr/bin:/bin

Si vous avez une idée, merci de m'en faire part.

Jack Bocar
jackbocar
le 28/12/2009 à 08:05
Erreur d'ouverture fichier php
Bonjour,

Je fais une installation de serveur local sur windows. Je me retrouve au moins 4 ans en arrière, avec cette erreur, lorsque j'essai d'ouvrir une page info.php, je reçois une fenetre qui me demande si je veux enregistrer le fichier.

Je sais qu'il existe une manipulation pour règler ceci. J'ai regardé plusieurs dizaines de pages sur le site, je n'ai pas trouvé de question à ce sujet pas plus de réponse.

Si vous avez une infos, merci de m'en faire part.

Jack Bocar
jackbocar
le 18/08/2009 à 10:50
Meta Tags dans des JavaScript
Bonjour,

Est-ce que de mettre ses meta-tag et ses codes tels que les footer les top qui sont identiques à toutes les pages dans des JavaScripts pour alléger les pages html est-ce que c’est sur au point de vu affichage ?

Model de footer.js


<?php
document.write('<!-- start Footer --><div id="footer"><span class="footer-left"><a href="#" class="footer-site">A propos du site</a></span><span class="footer-center"><a href="#" class="footer-haut">Top</a></span><span class="footer-right"><a href="#" class="footer-contact">Contact</a></span></div><!-- End footer -->');
?>


Merci de vos conseils

Jack Bocar
jackbocar
le 18/08/2009 à 10:42
répétitions des mêmes class
Bonjour,

Y a-t-il une astuce pour ne pas répéter la classe rubriques dans toutes les balises <dt> ?
Les balises <dt>&nbsp;</dt> sont ici pour créer un espace avec la rubrique suivante.

<?php
.rubriques {
background-color: #494949;
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
font-weight: bold;
color: #f1f1f1;
padding-left: 3px;
}

<dl>
<dt class="rubriques">Rubrique</dt>
<dt><a href="#" class="Nav">Menu</a></dt>
<dt>&nbsp;</dt>

<dt class="rubriques">Rubrique 1</dt>
<dt><a href="#" class="Nav">Menu</a></dt>
<dt>&nbsp;</dt>

<dt class="rubriques">Rubrique 1</dt>
<dt><a href="#" class="Nav">Menu</a></dt>
<dt>&nbsp;</dt>

</dl>
?>


Merci

Jack Bocar
jackbocar
le 17/08/2009 à 17:30
Explication de class
Bonjour,

Qui peut me mettre en commentaire les fonction que je dois utiliser dans mon formulaire pour que les différent code ce-dessous fonctionnent

par exemple pour faire un select :

<?php 
$result = $sdb->queryFetchAllAssoc('ma-table', 'id', 3 );
$row = $result->fetchAll(PDO::FETCH_ASSOC);

foreach($result as $row)
{
print ('<span>'.$row['id'].'</span>');
}
?>


Je vous dis tout de suite, j'ai déjà essayé et comme ceci, et avec tout un tas de formules ça ne fonctionne pas.

Je suis peut-être pas doué pour les class php et je devrais arrêter de me prendre la tête, je ne fais rein d'autre depuis que je suis tombé dedans, alors que j'ai un boulot monstre en attente...

Je n'ai pas encore essayé les incantations...

Merci de votre aide

Jack Bocar

<?php
$hostname = 'localhost';
$dbsn = 'ma-base';
$username = 'login';
$password = 'password';

class sdb
{

static private $PDOInstance;

public function __construct($dsn, $username=false, $password=false, $driver_options=false)
{
if(!self::$PDOInstance) {
try {
self::$PDOInstance = new PDO($dsn, $username, $password, $driver_options);
} catch (PDOException $e) {
die("PDO CONNECTION ERROR: " . $e->getMessage() . "<br/>");
}
}
return self::$PDOInstance;
}


public function beginTransaction() {
return self::$PDOInstance->beginTransaction();
}


public function commit() {
return self::$PDOInstance->commit();
}

public function errorCode() {
return self::$PDOInstance->errorCode();
}


public function errorInfo() {
return self::$PDOInstance->errorInfo();
}


public function exec($statement) {
return self::$PDOInstance->exec($statement);
}


public function getAttribute($attribute) {
return self::$PDOInstance->getAttribute($attribute);
}


public function getAvailableDrivers(){
return Self::$PDOInstance->getAvailableDrivers();
}


public function lastInsertId($name) {
return self::$PDOInstance->lastInsertId($name);
}


public function prepare ($statement, $driver_options=false) {
if(!$driver_options) $driver_options=array();
return self::$PDOInstance->prepare($statement, $driver_options);
}


public function query($statement) {
return self::$PDOInstance->query($statement);
}


public function queryFetchAllAssoc($statement) {
return self::$PDOInstance->query($statement)->fetchAll(PDO::FETCH_ASSOC);
}


public function queryFetchRowAssoc($statement) {
return self::$PDOInstance->query($statement)->fetch(PDO::FETCH_ASSOC);
}


public function queryFetchColAssoc($statement) {
return self::$PDOInstance->query($statement)->fetchColumn();
}


public function quote ($input, $parameter_type=0) {
return self::$PDOInstance->quote($input, $parameter_type);
}


public function rollBack() {
return self::$PDOInstance->rollBack();
}


public function setAttribute($attribute, $value ) {
return self::$PDOInstance->setAttribute($attribute, $value);
}
}
?>
jackbocar
le 06/08/2009 à 18:57
Classe post
Est-il possible de poster des données avec un formulaire avec ce code :


<?php
public function dbInsert($table, $values)
{
$this->conn();

$fieldnames = array_keys($values[0]);

$size = sizeof($fieldnames);
$i = 1;
$sql = "INSERT INTO $table";

$fields = '( ' . implode(' ,', $fieldnames) . ' )';

$bound = '(:' . implode(', :', $fieldnames) . ' )';

$sql .= $fields.' VALUES '.$bound;


$stmt = $this->db->prepare($sql);
foreach($values as $vals)
{
$stmt->execute($vals);
}
}
?>




Mon code d'insertion :

<?php
$values = array(
array('animal_name'=>'bruce', 'animal_type'=>'dingo'),
array('animal_name'=>'bruce', 'animal_type'=>'wombat'),
array('animal_name'=>'bruce', 'animal_type'=>'kiwi'),
array('animal_name'=>'bruce', 'animal_type'=>'kangaroo')
);

$crud->dbInsert('animals', $values);
?>


Ou est-il possible de créer une classe pour poster $POST_[' '] avec ce même code.

Jack Bocar
jackbocar
le 04/08/2009 à 08:32
Fonction de ce code
Bonjour,

J'aimerai que l'on me dise si c'est possible pourquoi lorsque j'ajoute ces deux ligne de code :

<?php
$username = mysql_escape_string($username);
$password = mysql_escape_string($password);
?>


Le control alpha numérique n'est plus valide. Ce qui veut dire que je peux ajouter des chiffres au login et au mot de passe.

Ce qui est incroyable, c'est que tout fonctionne très bien, le code prend très bien les logins avec des chiffres et idem pour les mots de passes.

Et les données sont elles aussi très biens enregistrées puisqu'on peut se connecter avec les logins et passwords avec chiffres.

Lorsque l'on se connecte à la page des membres, la fonction qui control les caractères alphanumériques, accepte très bien les mots de passes avec des chiffres idem pour les logins.

Et lorsque j'envoie le mot de passe : ' or 1=1--, là j'ai une alerte qui me dit que le mot de passe doit être alphanumérique.

Toutes les alertes de mauvais mot de passe ou mauvais login fonctionne très bien.


<?php
session_start();

/*** Ici on Vérifie que le les champs sont biens été remplis ***/
if(!isset( $_POST['username'], $_POST['password'], $_POST['form_token']))
{
$message = 'Please enter a valid username and password';
}
/*** Verifier que la session est valide - on envoie une alerte si ce n'est pas le cas ***/
elseif( $_POST['form_token'] != $_SESSION['form_token'])
{
$message = 'Soumission Invalide du formulaire';
}
/*** Vérifier la longueur du nom d'utilisateur ***/
elseif (strlen( $_POST['username']) > 20 || strlen($_POST['username']) < 6)
{
$message = "La longueur du nom d'utilisateur est incorrect";
}
/*** Vérifier la longueur du mot de passe ***/
elseif (strlen( $_POST['password']) > 20 || strlen($_POST['password']) < 6)
{
$message = "La Longueur du Password est incorrect";
}
/*** Vérifier que le nom d'utilisateur comporte que de caractères alphanumériques ***/
elseif (ctype_alnum($_POST['username']) != true)
{
/*** Si ce n'est pas le cas, une alerte est envoyée ***/
$message = "Le Nom d'utilisateur doit être alpha numérique";
}
/*** Vérifier que le mot de passe comporte que de caractères alphanumériques ***/
elseif (ctype_alnum($_POST['password']) != true)
{
/*** Si ce n'est pas le cas, une alerte est envoyée ***/
$message = "Le Password doit être alpha numérique";
}
else
{
/*** Si tout va bien, c'est que les informations sont valides, nous pouvons les inscrire dans la base de données ***/
$username = filter_var($_POST['username'], FILTER_SANITIZE_STRING);
$password = filter_var($_POST['password'], FILTER_SANITIZE_STRING);

/*** Maintenant, nous pouvons chiffrer le mot de passe ***/
$password = sha1( $password );


/*** CES DEUX LIGNES QUI PROTEGENT LES DONNEES INSEREES ***/

/*** Ici on protège les informations ***/
$username = mysql_escape_string($username);
$password = mysql_escape_string($password);



$mysql_hostname = '***';
$mysql_username = '***';
$mysql_password = '***';
$mysql_dbname = 'membres_test';

try
{
$dbh = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);
/*** $message = Nous informe de la bonne connection à la base de données ***/

/*** Ici on fixe le mode des erreurs et excptions ***/
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

/*** Préparation à l'insertion ***/
$stmt = $dbh->prepare("INSERT INTO membres_users (username, password ) VALUES (:username, :password )");

/*** Ici on fait la liaison des paramètres ***/
$stmt->bindParam(':username', $username, PDO::PARAM_STR);
$stmt->bindParam(':password', $password, PDO::PARAM_STR, 40);

/*** Ici on exécute la requête préparée ***/
$stmt->execute();

/*** Ici on défini les variables de session ***/
unset( $_SESSION['form_token'] );

/*** On confirme la bonne insertion du nouvel utilisateur ***/
$message = 'Nouvel utilisateur ajouté';
}
catch(Exception $e)
{
/*** Ici on vérifie si le nom d'utilisateur existe déjà ***/
if( $e->getCode() == 23000)
{
$message = 'Cet utilisateur existe déjà';
}
else
{
/*** Si on a un problème avec la base de données ou avec le serveur ***/
$message = "Nous ne pouvons pas traiter votre demande. S'il vous plaît essayer à nouveau plus tard";
}
}
}
?>


<html>
<head>
<title>Insertion d'un nouvel utilisateur</title>
</head>
<body>
<p>
<?php echo $message; ?>

</p>
</body>
</html>

Jack Bocar
LoadingChargement en cours