begin process at 2012 05 28 22:06:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

>>> Modification de contenu de chmp : problème avec les espaces


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

>>> Modification de contenu de chmp : problème avec les espaces

mardi 28 décembre 2004 à 19:37:24 | >>> Modification de contenu de chmp : problème avec les espaces

PatX

Bonjour à tous ! 8)

Vu que je suis nouveau sur le forum, je me présente : je suis étudiant. Cela fait maintenant un an que je programme en html mais je débute seulement avec les Base de données MySql. Pour l'instant, je n'ai fait qu'insérer et supprimer des enregistrements d'une table avec un petit programme php "self-made".

En plus d'ajouter des enregistrements à partir d'un formulaire et de les supprimer, je voudrais pouvoir les modifier en récupérant les valeurs depuis la base de données et les réinsérer dans un formulaire. Là, je les modifierai et je validerai les modifications pour mettre la base de données à jour.

Pour en venir au problème lui même, j'ai déjà réalisé le formulaire qui récupère les données prête à être modifiées, mais si jamais le contenu à insérer dans l'un des champs contient un espace, le remplissage des champs s'arrète et j'ai une erreur :

Notice: Undefined index: auteur in c:\program files\easyphp1-7\www\206sql\sql_accueil_gestion.php on line 132

Voilà, vous savez tout. Je vous donne mon script qui permet d'effectuer toutes les opérations que j'ai décrites. Si vous souhaitez avoir d'autres informations (nom de ma base de données, fichier.txt pour créer la table, etc.) je reste à votre disposition.

Cordialement,

PatX :)

<?
// Parametres de connexion à la base de données
include 'conf/sql_acces.php';
?>

<?
// calcul de la date
$date = date('d-m-Y');
$_REQUEST['date']=$date;
?>

<?
// -----------------------------------------
// Gestion de l'ajout d'un message d'accueil
// -----------------------------------------
if ($_REQUEST["action"]=="Ajouter")
{
print "
<HR width=60%>
<form action=sql_accueil_gestion.php method=post name=accueil_ajouter>
<table align=center>
<tr>
<td colspan=2>
<div class=storytitle align=center>Ajouter un message :</div>
<BR>
</td>
</tr>
<tr>
<td>Titre</td>
<td><input type=text name=titre size=30 maxlength=100></td>
</tr>
<tr>
<td>Contenu</td>
<td><textarea name=contenu rows=8 cols=50></textarea></td>
</tr>
<tr>
<td>Auteur</td>
<td><input type=text name=auteur size=30 maxlength=100></td>
</tr>
<tr>
<td>Date</td>
<td><input type=text name=date size=10 maxlength=10 value=" . $date . "></td>
</tr>
<tr>
<td colspan=2><input type=submit name=action value=Enregistrer></td>
</tr>
</table>
</form>";}

// --------------
// Enregistrement
// --------------
if ($_REQUEST["action"]=="Enregistrer")
{
$titre = isset($_POST['titre']) ? (get_magic_quotes_gpc() ? stripslashes($_POST['titre']) : $_POST['titre']): '';
$contenu = isset($_POST['contenu']) ? (get_magic_quotes_gpc() ? stripslashes($_POST['contenu']) : $_POST['contenu']): '';
$auteur = isset($_POST['auteur']) ? (get_magic_quotes_gpc() ? stripslashes($_POST['auteur']) : $_POST['auteur']): '';
// préparation de la requête
//mysql_query("insert into ... set champ=\"".mysql_real_escape_string($champ)."\");
$requete = "INSERT INTO accueil (titre, contenu, auteur, date) ";
$requete .= "VALUES (
'" . mysql_real_escape_string($_REQUEST["titre"]) . "',
'" . mysql_real_escape_string($_REQUEST["contenu"]) . "',
'" . mysql_real_escape_string($_REQUEST["auteur"]) . "',
'" . mysql_real_escape_string($_REQUEST["date"]) . "');";
$resulat = mysql_query($requete, $cnx);
}

// -----------------------------------
// Suppression d'un message
// -----------------------------------
// Doit on supprimer un message ?
if ($_REQUEST["action"]=="Supprimer")
{
// préparation de la requête
$requete = "delete from accueil WHERE id_accueil=".$_REQUEST['id'];
$resulat = mysql_query($requete, $cnx);
}

// -----------------------------------
// Modification d'un message
// -----------------------------------
// Doit on modifier un message ?
if ($_REQUEST["action"]=="Modifier")
{

// préparation de la requête (Suppression + Ajout)
$requete = "delete from accueil WHERE id_accueil=" . $_REQUEST['ancien_message'];
$resulat = mysql_query($requete, $cnx);
{
print ("
<HR width=60%>
<form action=sql_accueil_gestion.php method=post name=accueil_ajouter>
<table align=center>
<tr>
<td colspan=2>
<div class=storytitle align=center>Modifier un message :</div>
<BR>
</td>
</tr>
<tr>
<td>Titre</td>
<td><input type=text name=titre size=30 maxlength=100 value=" . $_REQUEST["titre"] . "></td>
</tr>
<tr>
<td valign=top>Contenu</td>
<td><textarea name=contenu rows=8 cols=50>" . $_REQUEST["contenu"] . "</textarea></td>
</tr>
<tr>
<td>Auteur</td>
<td><input type=text name=auteur size=30 maxlength=100 value=" . $_REQUEST["auteur"] . "></td>
</tr>
<tr>
<td>Date</td>
<td><input type=text name=date size=10 maxlength=10 value=" . $_REQUEST["date"] . "></td>
</tr>
<tr>
<td colspan=2><input type=submit name=action value=Enregistrer>
<font class=storytitle> A enregistrer même sans modification (le message a été supprimé)</font></td>
</tr>
</table>
</form>
");}
}

// Interroger la base de données
$requete = "SELECT * FROM accueil ;";
$resultat = mysql_query ($requete,$cnx) ;

print ("<HR width=60%> <div class=storytitle align=center>Liste des message enregistrés :</div> <BR>");
print ("<table width=50% border=1 align=center>");
print ("<tr bgcolor=#333333>
<td><B><font color=#FFFFFF>Id_accueil</font></td>
<td><B><font color=#FFFFFF>Titre</font></td>
<td><B><font color=#FFFFFF>Auteur</font></td>
<td><B><font color=#FFFFFF>Date</font></td>
<td> </td>
<td> </td>
</tr>");

//fonction qui alterne les couleurs
function Couleur(){
static $valcoul;
if ($valcoul == "#CCCCCC")
$valcoul = "#FFFFFF";
else $valcoul = "#CCCCCC";
return $valcoul;
}

//affiche les informations
while ($ligne = mysql_fetch_array ($resultat))
{
print("<tr bgcolor=". Couleur() . " >") ;
print ("<td>" . $ligne ["id_accueil"] . "</td>") ;
print ("<td>" . $ligne ["titre"] . "</td>") ;
print ("<td>" . $ligne ["auteur"] . "</td>\n") ;
print ("<td>" . $ligne ["date"] . "</td>\n") ;
print ("<td><a href = ".$_SERVER['PHP_SELF']."?action=Modifier&ancien_message=".$ligne['id_accueil']."&titre=".$ligne['titre']."&contenu=".$ligne['contenu']."&auteur=".$ligne['auteur']."> Modifier</a> </td>") ;
print ("<td><a href =".$_SERVER['PHP_SELF']."?action=Supprimer&id=".$ligne['id_accueil']."> Supprimer</a> </td>") ;
print ("\n");
print("</tr>") ;
}

print("</table>") ;

//ferme la base de données
mysql_close ($cnx) ;

?>

<BR><div align="center"><a href="sql_accueil_gestion.php?action=Ajouter">Ajouter un message</a></div>
mardi 28 décembre 2004 à 19:46:09 | Re : >>> Modification de contenu de chmp : problème avec les espaces

tucsoufle

Réponse acceptée !
salut
je pense que si tu laisse un message de cette longeur tu a peut de chance davoir une reponse

donc si tu a moyen de reduire pour que ce soit lisible
ensuite ce serait bien de montrer la ligne 132 ou il y a l'erreur

mais de toute evidence il ne connait pas la variable auteur !!!

cordialement


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet

mardi 28 décembre 2004 à 20:00:00 | Re : >>> Modification de contenu de chmp : problème avec les espaces

PatX

D'accord, euh, on fait comment pour modifier le message ?
mardi 28 décembre 2004 à 20:43:04 | Re : >>> Modification de contenu de chmp : problème avec les espaces

tucsoufle

on peut pas
il faut refaire le msg


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet

mercredi 29 décembre 2004 à 09:52:44 | Re : >>> Modification de contenu de chmp : problème avec les espaces

malalam

Administrateur CodeS-SourceS
Réponse acceptée !
Hello,

question, parce que je ne suis pas sur, je n'ai jamais ecrit ca comme ca, et je n'ai pas php la (au taf) :

'" . mysql_real_escape_string($_REQUEST["titre"]) . "',
'" . mysql_real_escape_string($_REQUEST["contenu"]) . "',
'" . mysql_real_escape_string($_REQUEST["auteur"]) . "',
'" . mysql_real_escape_string($_REQUEST["date"]) . "');";

ca pose pas un probeme? Tu fermes le guillemt pour concatener le contenue de ta variable, et tu rouvres les guillemets pour mettre le nom de ton POST, le refermes, ferme la concatenation, ferme les guillemets.
Tu devrais pas plutot ecrire :

'" . mysql_real_escape_string($_REQUEST['titre']) . "',

?
mercredi 29 décembre 2004 à 20:51:49 | Re : >>> Modification de contenu de chmp : problème avec les espaces

PatX

Salut Malalam !

Alors je viens de faire les modifications sur mon script, mais ça fonctionne comme avant. Rien n'a changé.

On m'a parlé de Stripslaches ou de Addslaches qui pourrait résoudre mon problème. C'est quoi et comment ça s'utilise ?
mercredi 29 décembre 2004 à 21:02:31 | Re : >>> Modification de contenu de chmp : problème avec les espaces

tucsoufle

Réponse acceptée !
salut
comme leur noms l'indique
addslashes ajoute des antislashes devant les carcteres le nécessitant (' " \ etc...)
comme ça, la chaine de caractere peut etre utiliser pour sql
stripslashes est la fonction inverse

ca s'utilise comme ca :
$var = addslashes("ta chaine de caractere ou ta variable")



Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet

vendredi 31 décembre 2004 à 10:38:04 | Re : >>> Modification de contenu de chmp : problème avec les espaces

PatX

Ok, donc en fait, ça ne permet pas d'accepter les espaces lorsque je veux reprendre le contenu de mes variables dans le formulaire pour les modifier.

En plus, je viens de m'apercevoir que les retours à la ligne n'étaient pas pris en compte lors de la saisie ... (sniff)


Cette discussion est classée dans : message, mysql, contenu, print, auteur


Répondre à ce message

Sujets en rapport avec ce message

formulaire et checkbox [ par overider ] salutje vais vous expliquez en gros ce que j'ai et ce que je veuxj'ai une table liens(lib_liens, url, etat)l'etat definis si le lien est visible ou no Probleme INSERT MySQL [ par Clonk ] Bonjour,j'ai un problème avec MySql, j'utili une table dont la clé primaire est en auto_increment, lorsque je fais mon INSERT, j'utilise la requête su Récupération du contenu d'une table Mysql en PHP [ par BSide ] Bonjour,dans ma table TABLE se trouvent 3 champs C1, C2 et C3 que je renseigne par un formulaire + INSERT INTO etc.Actuellement se trouvent dans TABLE Contenu de la base mysql [ par bonjovi51 ] S@lut Ô programmeurs, j'ai besoin de votre aide. J'aimerai savoir si il est de possible d'afficher les tables de ma base mysql (et non pas le contenu 2 tables MySQL en interaction, c'est possible ??? [ par pyranhaz ] Bonjour,Je cherche à élaborer une astuce qui permet à mon anti-aspirateur de lister l'hôte des robots pour éviter qu'ils soient bannis...mon anti-aspi formulaire de login pour bd(2) [ par Metalpowa ] Avec ce code, il me donne cette erreur: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...\bd1.php4 on line 3 Requete Mysql avec substr [ par dadybond ] En fait je fais une messagerie internet qui ne comporte pas de titre dans les messages et, je voudrais n'afficher qu'un résumé dans la boite puis le m UPDATE de plusieurs enregistrements dans une boucle [ par kd ] Bonjour à tous, j'essaie depuis un bout de temps de modifier un ensemble d'enregistrement dans une base à l'intérieur d'une boucle mais j'ai une erreu smileys et mysql [ par nico606 ] g un livre d'or avec des smileys mais mysql bug voila ma sourcema page avec le formulaire:<form method=post action="go_livre.php" name=form1 onsubmit= Numéroter des entrées ** help ** [ par skyrainsknives ] Bonjourje voulais savoir si quelqu'un pourrait m'aiderje desire numéroter mes entrésexemple:11 - title - date - message - auteur10 - title - date - me


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales