le_schtroumpf c´était la premiére solution ![]()
rexiste t´il une requete slq pour sortir le derniere ID enregistrer dans la BDD
Avec PHP, la fonction mysql_insert_id() te renvoie l´id de l´enregistrement que tu viens d´insérer. Tu peux aussi le faire par SQL, mais je ne me souviens plus comment...
Je suis tres nul en php donc voici mon script: un formulaire
< !DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN">
< html>
< head>
< meta http-equiv="Content-Type" content="text/html;"
charset="iso-8859-1">
< /head>
< body style="background-color: rgb(255, 255, 255);">
" ;
for ( $a=1; $a<= $_POST[´nbre_champs_texte´]; $a++) {
$partie_champs_texte . = " <font color="#003366" face="Verdana" size="2">"
. $_POST[´titre_champ´.$a] . " = " . $_POST[´champ´.$a] . " </font><br>
" ;
}
if ( $_POST[´nbre_zone_email´] ! = 0) {
$partie_zone_email = " <font color="#003366" face="Verdana" size="2">" .
$_POST[´titre_email´] . " = " . $_POST[´zone_email´] . " </font><br>
" ;
}
if ( $_POST[´nbre_zones_texte´] ! = 0) {
$partie_zone_texte = " <font color="#003366" face="Verdana" size="2">" .
$_POST[´titre_zone´] . " = " . $_POST[´zone_texte´] . " </font><br>
< title>Assistant d´envoi de formulaires</title>
< meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
" ;
$partie_zone_texte = stripslashes($partie_zone_texte);
}
$fin = " ";
$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email .
$partie_zone_texte . $fin;
/ / Send the e-mail
if ( @!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} / / Closing if ! mail...
} / / Closing if edit
? >
< script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {if ( mail_form.champ1.value == " ") {
alert("Veuillez entrer un nom ou une entreprise")
return false
} if ( mail_form.champ2.value == " ") {
alert("Veuillez entrer une localité")
return false
} if ( mail_form.zone_email.value == " ") {
alert("Veuillez entrer une adresse email")
return false
}
invalidChars = " / :,;´"
for ( i=0; i<invalidChars.length; i++) { // does it contain any invalid characters?
badChar = invalidChars.charAt(i)
if ( mail_form.zone_email.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
mail_form.zone_email.focus()
return false
}
}
atPos = mail_form.zone_email.value.indexOf("@",1) // there must be one " @" symbol
if ( atPos == -1) {
alert(´Votre adresse e-mail ne contient pas le signe " @". Veuillez vérifier.´)
mail_form.zone_email.focus()
return false
}
if ( mail_form.zone_email.value.indexOf("@",atPos+1) ! = -1) { // and only one " @" symbol
alert(´Il ne doit y avoir qu\´un signe " @". Veuillez vérifier.´)
mail_form.zone_email.focus()
return false
}
periodPos = mail_form.zone_email.value.indexOf(".",atPos)
if ( periodPos == -1) { // and at least one " ." after the " @"
alert(´Vous avez oublié le point " ." après le signe " @". Veuillez vérifier.´)
mail_form.zone_email.focus()
return false
}
if ( periodPos+3 > mail_form.zone_email.value.length) { // must be at least 2 characters after the
alert(´Il doit y avoir au moins deux caractères après le signe " .". Veuillez vérifier.´)
mail_form.zone_email.focus()
return false
}if ( mail_form.zone_texte.value == " ") {
alert("Veuillez entrer une description")
return false
} } / / Fin de la fonction
< /script>
< form name="mail_form" method="post" action="<?=$PHP_SELF?>"
onsubmit="return verifSelection()">
< p align="center"><?php if ( $message_remerciement) {
echo("<font face=Verdana size=?>");
echo(stripslashes($message_remerciement));
echo("</p>
" );
exit();
}
? >
< table align="center" border="0" width="566">
< p align="center">
< /p>
< tbody>
< tr>
< td><font face="Verdana" size="2">Nom ou entreprise</font></td>
< td><input name="champ1" type="text"></td>
< /tr>
< tr>
< td><font face="Verdana" size="2">Localité</font></td>
< td><input name="champ2" type="text"></td>
< /tr>
< tr>
< td><font face="Verdana" size="2">Numéro de
téléphone</font></td>
< td><input name="champ3" type="text"></td>
< /tr>
< tr>
< td width=""><font face="Verdana" size="2">Adresse email</font></td>
< td width=""><input name="zone_email" type="text"></td>
< /tr>
< tr>
< td valign="top"><font face="Verdana" size="2">Saisissez ici
l\´objet du devis</font></td>
< td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
< /tr>
< tr>
< td valign="top"><input name="nbre_champs_texte"
id="nbre_champs_texte" value="3" type="hidden"> < input
name="nbre_zones_texte" value="1" type="hidden"><input
name="nbre_zone_email" value="1" type="hidden">
< input name="titre_champ1" value="Nom ou entreprise"
type="hidden"><input name="titre_champ2" value="Localité" type="hidden"><input
name="titre_champ3" value="Numéro de téléphone" type="hidden"><input
name="titre_email" value="Adresse email" type="hidden"><input
name="titre_zone" value="Saisissez ici l\´objet du devis" type="hidden"></td>
< td>
< div align="center"><input name="Reset" value="Effacer"
type="reset"> < input name="envoi" value="Envoyer" type="submit"> < /div>
< /td>
< /tr>
< /tbody>
< /table>
< /form>
< /body>
< /html>
Et mon erreur
http://telesecretariat.selfhosting.net/form.php
Merci d´avance
De plus dans une autre page
http://telesecretariat.selfhosting.net/devis.html
http://telesecretariat.selfhosting.net/devis.php
J´ai une parse error sur cette ligne :
mysql_query("INSERT INTO articles VALUES(´´, $_POST[´titre´],
$_POST[´image´],$_POST[´auteur´],$_POST[´contenu´]
, $_POST[´introduction´], $_POST[´date´])");
et je trouve pas l´erreur ( comme d´hab´ quoi).
de m´éclaircir.
Moi c´est un code que je demande justement^^
Je m´explique:
j´ai un for*umactif: http://firegraf.for*umactif.com/portal.forum ( enlevez le " *" dans l´url) et j´aimerai un code qui fait que quand un certain nombre de message est atteint ( 10 plus précisément) dans un forum, celui-ci soit vérouillé jusqu´a ce que le nombre de message atteint repasse en dessous de 10.
Voilà j´espère que quelqu´un pourra m´aider, merci d´avance ![]()
Pour oO_Sauron_Oo, tu dois remplacer $_POST[´nom_du_champs´] par ${_POST[´nom_du_champs´]} ou le mettre hors des guillemets.
Pour Firetiti, j´ai fait un script du genre pour un forum PhpBB, mais vu que je ne sais pas comment ces forums ont été modifiés par forumactif, je ne peux pas t´aider...(à moins que tu te décides à installer toi-même un forum PhpBB
)
Je n´ai pas d´erreur mais pour changer rien ne s´écrit dans ma base de données :´(
< ?
if($_POST[´titre´] && $_POST[´image´] && $_POST[´auteur´] && $_POST[´contenu´] && $_POST[´introduction´] && $_POST[´date´])
{
$_POST[´titre´] = addslashes($_POST[´titre´]);
$_POST[´auteur´] = addslashes($_POST[´auteur´]);
$_POST[´contenu´] = addslashes($_POST[´contenu´]);
$_POST[´introduction´] = addslashes($_POST[´introduction´]);
$_POST[´date´] = addslashes($_POST[´date´]);
mysql_connect("localhost", " root", " ");
mysql_select_db("ndspowa");
mysql_query("INSERT INTO articles VALUES(´´, ${_POST[´titre´]},
${_POST[´image´]},${_POST[´auteur´]},${_POST[´cont
enu´]}, ${_POST[´introduction´]}, ${_POST[´date´]})");
mysql_close();
include("header.php");
echo " <p><b>Envoi de votre article réussi.</b><br><a href=\"index.php\">Panneau d´administration.</a></p>";
include("footer.php");
}
else
{
include("header.php");
echo " <p><b>Vous n´avez pas renseigné tous les champs ou une erreur est survenue lors de
l´enregistrement de votre test.</b><br><a href=\"index.php\">Panneau d´administration.</a></p>";
include("footer.php");
}
? >
Je n´ai pourtant fait aucune fautes :s
pour le_schtroumpf, le forum phpBB est en construction, je suis donc grandement intérréssé par ton script et je serais heureux que tu me le donnes ( -: merci d´avance!
![]()
Je ne t´oublie pas Firetiti
, mais mon script est plus différent de ce que tu souhaites que ce que je pensais... Je pars demain pour 2 semaines, je verrai à mon retour ce que je peux faire pour toi ![]()
et bonne vac´
Sauron, ta condition est invalide présentée telle quelle. Il te faudrait des ! empty ou isset pour que ça marche, voici le code corrigé:
< ?
if(isset($_POST[´titre´]) && isset($_POST[´image´]) && isset($_POST[´auteur´]) && isset($_POST[´contenu´]) && isset($_POST[´introduction´]) && isset($_POST[´date´]))
{
$_POST[´titre´] = addslashes($_POST[´titre´]);
$_POST[´auteur´] = addslashes($_POST[´auteur´]);
$_POST[´contenu´] = addslashes($_POST[´contenu´]);
$_POST[´introduction´] = addslashes($_POST[´introduction´]);
$_POST[´date´] = addslashes($_POST[´date´]);
mysql_connect("localhost", " root", " " );
mysql_select_db("ndspowa");
mysql_query(´INSERT INTO `articles` VALUES(´´, " ´.$_POST[´titre´].´"},
" ´.$_POST[´image´].´", " ´.$_POST[´auteur´].´", " ´.$_POST[´contenu´].´", " ´.$_POST[´introduction´].´", " ´.$_POST[´date´].´")´);
mysql_close();
include(´header.php´);
echo ´<p><b>Envoi de votre article réussi.</b><br><a href="index.php">Panneau d´administration.</a></p>´;
include(´footer.php´);
}
else
{
include(´header.php´);
echo ´<p><b>Vous n´avez pas renseigné tous les champs ou une erreur est survenue lors de
l´enregistrement de votre test.</b><br><a href="index.php">Panneau d´administration.</a></p>´;
include(´footer.php´);
}
? >
NB: Tu noteras que j´ai aussi remplacé les guillemets par des apostrophes, tu n´es pas obligé de le faire mais c´est plus pratique...
Et évidemment, je me suis relu trop vite, une je t´ai écrit qu´il fallait mettre :
mysql_query(´INSERT INTO `articles` VALUES(´´, " ´.$_POST[´titre´].´"},
mais remplace ça par
mysql_query(´INSERT INTO `articles` VALUES(´´, " ´.$_POST[´titre´].´",
Euh vous sauriez faire un formulaires d´inscription qui marche ( ce serait mieux lol), car moi j´ai essayer mais j´ai po réussi
. Donc si vous saviez faire et que vous voudriez me partager votre sciences se serait sympas ![]()
pitier aider moi ![]()
please dite moi comment faire svp
http://www.phpscripts-fr.net/scripts/scripts.php?cat=Authentification&tri=HITS&sens=DESC&deb=0 plein de script php tu trouvera surement ton bonheure ; )
![]()
bah c´est des logiciel sa? Moi je voudrait savoir comment le faire en code