jeff

Inscris le 11/11/2007 à 16:21
  • Signature
    Je suis pour le monde du libre
  • Nombre de sujets
    4
  • Nombre de messages
    16
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
jeff
le 17/12/2007 à 18:22
problème UPDATE SET
Bonjour,

J'ai un autre problème sur un code PDO, qui sort de mon livre PHP 5 Avancé, c'est un UPDATE SET. (page, 471, pour ceux qui ont ce livre)

Un coup, il bloc mon serveur "WAMP", un autre coup il m'envoi un message d'erreur :

Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number in H:\www\www.commanderies-net\edit_article_2.php on line 14

Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in H:\www\www.commanderies-net\edit_article_2.php on line 15


<?php
include ('./_require/function_connect.php');

$titre = $_POST['titre'];
$texte = $_POST['texte'];

$id_article = (int) $_POST['id_article'];

$sql = "UPDATE article SET titre=':titre, texte=':texte WHERE id_article = :id_article";
$stmt = $dbh->prepare($sql);

$valeurs = array(':titre'=>$titre, ':texte'=>$texte, ':id_article'=>$id_article);

ligne 14 - $stmt->execute($valeurs);
ligne 15 - $stmt->execute();

$stmt = NULL;
?>


Mon code d'édition et mon formulaire de modifications :

<?php
include ('./_require/function_connect.php');

$id_ar = (int) $_GET['id_article'];

$sql = "SELECT id_article,titre,texte FROM article WHERE id_article =$id_ar ";

$sth = $dbh->query($sql);
$result = $sth->fetchALL();

$row = $result[0];

$titre = $row['titre'];
$texte = $row['texte'];

$jour = substr($date_pud, 8, 2);
$mois = substr($date_pub, 5, 2);
$annee = substr($date_pub, 0, 4);
$date = $jour. '-' .$mois. '-' .$annee;

$dbh = NULL;
?>

<form method="post" action="edit_article_2.php">
<input type="text" name="titre" size="50" value="<?php echo $titre; ?> "/><br />
<textarea name="texte" rows="8" cols="30"><?php echo $texte; ?></textarea><br />
<input type="hidden" name="id_article" value="<?php $id_ar; ?>" />
<input type="submit" value="Modiffier" />
</form>


Merci de votre aide

Jeff
Je suis pour le monde du libre
jeff
le 12/12/2007 à 11:35
Contrôle sur deux champs
Bonjour,

Comment écrire la syntaxe ou le code pour contrôler si un NOM et le N° de département est déjà dans la table Exemple : Paris -> 75 ?

Je sais faire pour un contrôle, mais pour deux, je ne vois pas…

Si je fais comme ceci, ça ne fonctionne pas ?

<?php
function db_connect()
{
$result = new mysqli('localhost', 'jackbocar', 'XXXXXXXXXXXXXXXXX', 'ma_Table');
if (!$result)
throw new Exception('Connexion impossible au serveur');
else
return $result;
}

function register($nom, $dep)
{

$conn = db_connect();
$result = $conn->query("SELECT * FROM ma_table WHERE nom='$nom' AND dep='$dep' ");
if (!$result)
throw new Exception('Impossible executer la requete');
if ($result->num_rows>0)
throw new Exception('Ce nom et ce departement sont deja dans la table.');

//Si tout est bon, enregistrement dans la base
$conn = db_connect();
$result = $conn->query("insert into ma_table values ('$nom', '$dep')");
if (!$result)
throw new Exception('Il y a un problème, il faut recommencer.');
return true;
}

?>



Merci de votre aide.

Jeff
Je suis pour le monde du libre
jeff
le 03/12/2007 à 10:02
REMOTE_ADDR
Bonjour,

Je viens de lire la nouvelle sur la non sécurité de REMOTE_ADDR, je suis allé sur les cours php, et sur "Afficher le nombre de connectés sur un site", tu n'as pas proposé de modification ?

Il n'y a pas plus de parade sur le site d'où est issue la nouvelle.

Alors, que peut-on faire pour sécuriser ce REMOTE_ADDR ?

Jack Bocar
Je suis pour le monde du libre

Ses derniers messages sur les forums

forum
jeff
le 17/12/2007 à 18:22
problème UPDATE SET
Bonjour,

J'ai un autre problème sur un code PDO, qui sort de mon livre PHP 5 Avancé, c'est un UPDATE SET. (page, 471, pour ceux qui ont ce livre)

Un coup, il bloc mon serveur "WAMP", un autre coup il m'envoi un message d'erreur :

Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number in H:\www\www.commanderies-net\edit_article_2.php on line 14

Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in H:\www\www.commanderies-net\edit_article_2.php on line 15


<?php
include ('./_require/function_connect.php');

$titre = $_POST['titre'];
$texte = $_POST['texte'];

$id_article = (int) $_POST['id_article'];

$sql = "UPDATE article SET titre=':titre, texte=':texte WHERE id_article = :id_article";
$stmt = $dbh->prepare($sql);

$valeurs = array(':titre'=>$titre, ':texte'=>$texte, ':id_article'=>$id_article);

ligne 14 - $stmt->execute($valeurs);
ligne 15 - $stmt->execute();

$stmt = NULL;
?>


Mon code d'édition et mon formulaire de modifications :

<?php
include ('./_require/function_connect.php');

$id_ar = (int) $_GET['id_article'];

$sql = "SELECT id_article,titre,texte FROM article WHERE id_article =$id_ar ";

$sth = $dbh->query($sql);
$result = $sth->fetchALL();

$row = $result[0];

$titre = $row['titre'];
$texte = $row['texte'];

$jour = substr($date_pud, 8, 2);
$mois = substr($date_pub, 5, 2);
$annee = substr($date_pub, 0, 4);
$date = $jour. '-' .$mois. '-' .$annee;

$dbh = NULL;
?>

<form method="post" action="edit_article_2.php">
<input type="text" name="titre" size="50" value="<?php echo $titre; ?> "/><br />
<textarea name="texte" rows="8" cols="30"><?php echo $texte; ?></textarea><br />
<input type="hidden" name="id_article" value="<?php $id_ar; ?>" />
<input type="submit" value="Modiffier" />
</form>


Merci de votre aide

Jeff
Je suis pour le monde du libre
jeff
le 17/12/2007 à 18:10
Contrôle sur deux champs
Bonjour,

Ca fonctionne, je l'ai mis juste après INSERT, et je suis bien redirigé.

Je le plaçais tout en bas, après les message d'erreurs.

Jeff
Je suis pour le monde du libre
jeff
le 17/12/2007 à 16:51
Contrôle sur deux champs
Bonjour,

J'ai essayé de placer ce header, rien a faire, ou il me renvoie directement sur ma page index là où sont visible les nouveaux enregistrement ou, j'ai une erreur et rien ne s'affiche.

Cette page est : ajout.php, et, je veux une fois que le nouvel enregistrement est inscrit dans la table, être dirigé sur la page index.php, et voir la nouvelle entrée affichée.

Jeff
Je suis pour le monde du libre

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours