Vérification avant enregistrement dans table
waldner77
Messages postés
196
Statut
Membre
-
Trombines -
Trombines -
Bonjour,
se que je veux faire c'est que,
je valide mon formulaire avec la ou les selection des nom de pdf et c'est traité puis stocké dans la BDD. Ce que je voudrais c'est veriffié si les nom de pdf existe deja quelque part dans mes champs 'nom_pdf':
j'ai essayer plusieurs chose et sa me fait que des erreur ect.
est ce que vous pouvez m'aidez
merci
voici mon code.
<?php
require_once("../protec/passe/conf.php");
Error_Reporting(1);
@set_magic_quotes_runtime(0);
// sessions
if($active_session=="1")
{
session_start();
$id=addslashes($_SESSION["id"]);
$url="../protec/delogue.php";
}
else
{
$id=addslashes($_GET["id"]);
$url="../protec/delogue.php?id=".$id;
}
// fin sessions
$db_link=connect_db();
$droits=verif_login($id);
?>
<html>
<body>
<?php
echo "<CENTER><H4> Aujourd'hui le " . date('Y/m/d ')."</H4>";
if(isset($_POST['valeur']) && !empty($_POST['valeur']))
{
$Col1_Array = $_POST['valeur'];
foreach($Col1_Array as $select )
{
copy( "C:\\wamp\\www\\test projet\\test5\\php\\destination\\A_DIFFUSER\\".$select , "C:\\wamp\\www\\test projet\\test5\\php\\destination\\A VERIFIER\\".$select);
//copier fichier .pdf des valeurs sélectionnées
//echo '<br>';
//echo $select;
$Nom_pdf = $select ; //nom pdf:
if(isset($_POST['Uti']) && !empty($_POST['Uti']))
{
$Col1_Array = $_POST['Uti'];
foreach($Col1_Array as $select1)
{
$pieces = explode("#", $select1);
//echo $pieces[0]; //affiche le nom
//echo "<br>"; //sert a sauter à la ligne
//echo $pieces[1]; affiche le prenom
//echo "<br>";
//echo $pieces[2]; affiche l'email
$NP= $pieces[0].' '.$pieces[1] ;
$pseudo=$_COOKIE['monpseudo'];
$query='SELECT nom_pdf FROM a_verifier ';
$select2 = "SELECT nom, prenom,email FROM membre WHERE pseudo= '$pseudo' ";
$resultat=mysql_query($query,$db_link) or die (mysql_error());
$result2 = mysql_query($select2,$db_link) or die ('Erreur : '.mysql_error() );
$total=mysql_fetch_array($resultat);
echo $total['nom_pdf'];
while($Tab=mysql_fetch_array($result2))
{
$prenom = $Tab['prenom'];
$nom = $Tab['nom'];
$NP1 = $nom. ' ' .$prenom;
$email = $Tab['email'];
}
$date = date('Y/m/d H:m:s'); //date
$sql = "INSERT INTO a_verifier(nom_pdf,date,email2,destinataire,diffusee_par,email1)
VALUES ( '$Nom_pdf','$date','$pieces[2]','$NP','$NP1','$email') " ;
}
}
//exécution de la requête SQL:
$requete = mysql_query($sql, $db_link) or die( mysql_error() ) ;
}
}
?>
<a href="<?php echo $url; ?>">Se déloguer</a>
<a href="test3.php">tableau</a>
</html>
</body>
<?php
close();
?>
se que je veux faire c'est que,
je valide mon formulaire avec la ou les selection des nom de pdf et c'est traité puis stocké dans la BDD. Ce que je voudrais c'est veriffié si les nom de pdf existe deja quelque part dans mes champs 'nom_pdf':
j'ai essayer plusieurs chose et sa me fait que des erreur ect.
est ce que vous pouvez m'aidez
merci
voici mon code.
<?php
require_once("../protec/passe/conf.php");
Error_Reporting(1);
@set_magic_quotes_runtime(0);
// sessions
if($active_session=="1")
{
session_start();
$id=addslashes($_SESSION["id"]);
$url="../protec/delogue.php";
}
else
{
$id=addslashes($_GET["id"]);
$url="../protec/delogue.php?id=".$id;
}
// fin sessions
$db_link=connect_db();
$droits=verif_login($id);
?>
<html>
<body>
<?php
echo "<CENTER><H4> Aujourd'hui le " . date('Y/m/d ')."</H4>";
if(isset($_POST['valeur']) && !empty($_POST['valeur']))
{
$Col1_Array = $_POST['valeur'];
foreach($Col1_Array as $select )
{
copy( "C:\\wamp\\www\\test projet\\test5\\php\\destination\\A_DIFFUSER\\".$select , "C:\\wamp\\www\\test projet\\test5\\php\\destination\\A VERIFIER\\".$select);
//copier fichier .pdf des valeurs sélectionnées
//echo '<br>';
//echo $select;
$Nom_pdf = $select ; //nom pdf:
if(isset($_POST['Uti']) && !empty($_POST['Uti']))
{
$Col1_Array = $_POST['Uti'];
foreach($Col1_Array as $select1)
{
$pieces = explode("#", $select1);
//echo $pieces[0]; //affiche le nom
//echo "<br>"; //sert a sauter à la ligne
//echo $pieces[1]; affiche le prenom
//echo "<br>";
//echo $pieces[2]; affiche l'email
$NP= $pieces[0].' '.$pieces[1] ;
$pseudo=$_COOKIE['monpseudo'];
$query='SELECT nom_pdf FROM a_verifier ';
$select2 = "SELECT nom, prenom,email FROM membre WHERE pseudo= '$pseudo' ";
$resultat=mysql_query($query,$db_link) or die (mysql_error());
$result2 = mysql_query($select2,$db_link) or die ('Erreur : '.mysql_error() );
$total=mysql_fetch_array($resultat);
echo $total['nom_pdf'];
while($Tab=mysql_fetch_array($result2))
{
$prenom = $Tab['prenom'];
$nom = $Tab['nom'];
$NP1 = $nom. ' ' .$prenom;
$email = $Tab['email'];
}
$date = date('Y/m/d H:m:s'); //date
$sql = "INSERT INTO a_verifier(nom_pdf,date,email2,destinataire,diffusee_par,email1)
VALUES ( '$Nom_pdf','$date','$pieces[2]','$NP','$NP1','$email') " ;
}
}
//exécution de la requête SQL:
$requete = mysql_query($sql, $db_link) or die( mysql_error() ) ;
}
}
?>
<a href="<?php echo $url; ?>">Se déloguer</a>
<a href="test3.php">tableau</a>
</html>
</body>
<?php
close();
?>
A voir également:
- Vérification avant enregistrement dans table
- Table ascii - Guide
- Table des matières word - Guide
- Retrouver mon compte copains d'avant - Forum Réseaux sociaux
- Copains d'avant qui a visité mon profil - Forum Facebook
- Recupération compte copain - Forum Réseaux sociaux
16 réponses
ba le problème déjà c'est que je n'arrive même pas a lire le contenue de la table et de l'afficher et après je veux faire une condition que si il y a le même nom pdf il ne fait rien et si il y a pas le même nom il enregistre
elle marche ma conexion c'est juste que la j'ai fait une condition pour voir si il y a la même valeur dans ma table et sa me fait sa maintenant Query was empty comme erreur:
voila se que j'ai fait:
$query='SELECT nom_pdf FROM a_verifier ';
$select2 = "SELECT nom, prenom,email FROM membre WHERE pseudo= '$pseudo' ";
$resultat=mysql_query($query,$db_link) or die (mysql_error());
$result2 = mysql_query($select2,$db_link) or die ('Erreur : '.mysql_error() );
while($total=mysql_fetch_array($resultat)){
while($Tab=mysql_fetch_array($result2))
{
$prenom = $Tab['prenom'];
$nom = $Tab['nom'];
$NP1 = $nom. ' ' .$prenom;
$email = $Tab['email'];
}
$date = date('Y/m/d H:m:s'); //date
if($total[0]= $Nom_pdf){
//echo 'déjà enregistré';
}
else{
$sql = "INSERT INTO a_verifier(nom_pdf,date,email2,destinataire,diffusee_par,email1)
VALUES ( '$Nom_pdf','$date','$pieces[2]','$NP','$NP1','$email') " ;
}
}
voila se que j'ai fait:
$query='SELECT nom_pdf FROM a_verifier ';
$select2 = "SELECT nom, prenom,email FROM membre WHERE pseudo= '$pseudo' ";
$resultat=mysql_query($query,$db_link) or die (mysql_error());
$result2 = mysql_query($select2,$db_link) or die ('Erreur : '.mysql_error() );
while($total=mysql_fetch_array($resultat)){
while($Tab=mysql_fetch_array($result2))
{
$prenom = $Tab['prenom'];
$nom = $Tab['nom'];
$NP1 = $nom. ' ' .$prenom;
$email = $Tab['email'];
}
$date = date('Y/m/d H:m:s'); //date
if($total[0]= $Nom_pdf){
//echo 'déjà enregistré';
}
else{
$sql = "INSERT INTO a_verifier(nom_pdf,date,email2,destinataire,diffusee_par,email1)
VALUES ( '$Nom_pdf','$date','$pieces[2]','$NP','$NP1','$email') " ;
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
elle est horrible ta requête.
ça suffit largement pour vérifier la présence de ton enregistrement, je vois pas pourquoi tu fais une requête sur ta table membres. Corrige cet exemple et fais les ajouts nécessaires, et dis moi ce que tu obtiens.
$request="select nom_pdf from a_verifier where nom_pdf='$Nom_pdf' limit 1";
$query=mysql_query($request) or die(mysql_error());
if(mysql_num_rows($query)==0){
//on enregistre
}else{
//on n'enregistre pas.
}
ça suffit largement pour vérifier la présence de ton enregistrement, je vois pas pourquoi tu fais une requête sur ta table membres. Corrige cet exemple et fais les ajouts nécessaires, et dis moi ce que tu obtiens.
Hello à tous !
Une bonne âme pour m'aider SVP ? Voici mon problème, j'essaie de créer un formulaire en Flash qui communique via php avec une base Mysql.
Les enregistrement se font sans problèmes mais lorsque l'utilisateur choisi un pseudo qui existe déjà, le message d'erreur qui s'affiche n'est pas celui que j'ai indiqué dans mon code. :(
Voici mon code :
A part brûler un cierge à Saint Ternet, je crois que j'ai à peu près tout essayé alors si vous avez une solution, je suis preneur ! Merci !
Une bonne âme pour m'aider SVP ? Voici mon problème, j'essaie de créer un formulaire en Flash qui communique via php avec une base Mysql.
Les enregistrement se font sans problèmes mais lorsque l'utilisateur choisi un pseudo qui existe déjà, le message d'erreur qui s'affiche n'est pas celui que j'ai indiqué dans mon code. :(
Voici mon code :
<?
include "dbconfig.php";
if(!empty($_POST['username']) && !empty($_POST['userpass'])){
mysql_query("insert into users(username,userpwd) values('".$_POST['username']."','".($_POST['userpass'])."')") or die("&error=".mysql_error()."&");
}
if(!empty($_POST['username']) && !empty($_POST['userpass'])){
$res=mysql_query("select username from users where username='".$_POST['username']."' and userpwd='".($_POST['userpass'])."'") or die("&error=".mysql_error()."&");
if(mysql_num_rows($res)==1){
$row=mysql_fetch_object($res);
echo "&user=".$row->username."&";
}
else{
echo "&error=User existant&";
}
}
else{
echo "&error=Vous devez fournir le user et le pwd&";
}
?>
A part brûler un cierge à Saint Ternet, je crois que j'ai à peu près tout essayé alors si vous avez une solution, je suis preneur ! Merci !
sa me fait tjr la même chose
$pseudo=$_COOKIE['monpseudo'];
$select2 = "SELECT nom, prenom,email FROM membre WHERE pseudo= '$pseudo' ";
$result2 = mysql_query($select2,$db_link) or die ('Erreur : '.mysql_error() );
$request="select nom_pdf from a_verifier where nom_pdf='$Nom_pdf' limit 1";
$query=mysql_query($request) or die(mysql_error());
if(mysql_num_rows($query)==0){
while($Tab=mysql_fetch_array($result2))
{
$prenom = $Tab['prenom'];
$nom = $Tab['nom'];
$NP1 = $nom. ' ' .$prenom;
$email = $Tab['email'];
}
$date = date('Y/m/d H:m:s'); //date
$sql = "INSERT INTO a_verifier(nom_pdf,date,email2,destinataire,diffusee_par,email1)
VALUES ( '$Nom_pdf','$date','$pieces[2]','$NP','$NP1','$email') " ;
}else{
//on n'enregistre pas.
}
$pseudo=$_COOKIE['monpseudo'];
$select2 = "SELECT nom, prenom,email FROM membre WHERE pseudo= '$pseudo' ";
$result2 = mysql_query($select2,$db_link) or die ('Erreur : '.mysql_error() );
$request="select nom_pdf from a_verifier where nom_pdf='$Nom_pdf' limit 1";
$query=mysql_query($request) or die(mysql_error());
if(mysql_num_rows($query)==0){
while($Tab=mysql_fetch_array($result2))
{
$prenom = $Tab['prenom'];
$nom = $Tab['nom'];
$NP1 = $nom. ' ' .$prenom;
$email = $Tab['email'];
}
$date = date('Y/m/d H:m:s'); //date
$sql = "INSERT INTO a_verifier(nom_pdf,date,email2,destinataire,diffusee_par,email1)
VALUES ( '$Nom_pdf','$date','$pieces[2]','$NP','$NP1','$email') " ;
}else{
//on n'enregistre pas.
}
bon attends, explique moi ces histoires de requêtes croisées, pourquoi tu fais deux requêtes là? à quoi ça te sert d'aller faire un tour dans ta table membre? Je n'en vois pas l'utilité (enfin, ça saute pas aux yeux quoi^^), et je trouve que ça a plutôt tendance à brouiller qu'autre chose. Si ça ne sert à rien pour ce qui concerne la vérification, faut pas le mettre là, faut le mettre ailleurs, faut pas tout mélanger^^
l'utilité c'est que je vais chercher le nom et prénom de la personne qui c'est connecter c'est pour sa que je l'utilise
$request="select nom_pdf from a_verifier where nom_pdf='$Nom_pdf' limit 1";
$query=mysql_query($request) or die(mysql_error());
if( mysql_num_rows($query)==0 ){
$request="select nom,prenom,mail from membre where pseudo='$pseudo' limit 1";
$query=mysql_query($request) or die(mysql_error());
if(mysql_num_rows($query)!=0){
list($nom,$prenom,$email)=mysql_fetch_array($query);
$NP1="$nom $prenom";
$date=date('Y/m/d H:m:s');
$request="insert into a_verifier ";
$request.="values ('$Nom_pdf','$date','$pieces[2]','$NP','$NP1','$email')";
mysql_query( $request ) or die(__file__.' '.__line__.' '.mysql_error());
echo "Document enregistré";
}else{
echo 'Identité irrécupérable';
return;
} }else{
echo "Document déjà présent dans la table.";
}
la récupération de l'identité on n'en a besoin que dans l'enregistrement si j'ai bien compris, donc on la fait à ce moment là, pour éviter la surcharge du serveur^^
là on fait aussi plusieurs vérifications standards, donc ce code te retourne forcément quelque chose, et je tiens à savoir quoi ;)
tu connais le paramètre LIMIT de mysql? Très utile, il te permet de t'arrêter à un enregistrement quand tu fouilles une bdd, et je m'en sers ici pour les vérifications, vu que la procédure est invalidée ou validée à partir du moment où on trouve au moins un enregistrement (pour le fichier et pour l'identité^^)
Ca permet aussi d'éviter la boucle while, inutile puisqu'on ne récupère qu'une ligne de résultats^^ ce qui allège aussi l'exécution de ton script
non je ne connait pas la fonction LIMIT dans sql
j'ai essayer et sa fait toujours Query was empty.
j'ai sélectionné tout les nom des pdf pour voir si sa marche et il me dit qu'il avez bien renvoyer mais avec l'erreur que je t'es mit en haut , mais quand j'ai regarder ma table dans le sql il a juste enregistré le premier pdf et je pense qu'il doit coller les l'un a coter des autres les noms des pdf.
j'ai essayer et sa fait toujours Query was empty.
j'ai sélectionné tout les nom des pdf pour voir si sa marche et il me dit qu'il avez bien renvoyer mais avec l'erreur que je t'es mit en haut , mais quand j'ai regarder ma table dans le sql il a juste enregistré le premier pdf et je pense qu'il doit coller les l'un a coter des autres les noms des pdf.
remplace ça:
//exécution de la requête SQL:
$requete = mysql_query($sql, $db_link) or die( mysql_error() ) ;
}
par ça:
//exécution de la requête SQL:
$requete = mysql_query($sql, $db_link) or die( __file__.' '.__line__.' code erreur: '.mysql_error() ) ;
}
et recommence^^
//exécution de la requête SQL:
$requete = mysql_query($sql, $db_link) or die( mysql_error() ) ;
}
par ça:
//exécution de la requête SQL:
$requete = mysql_query($sql, $db_link) or die( __file__.' '.__line__.' code erreur: '.mysql_error() ) ;
}
et recommence^^
sa me fait sa
C:\wamp\www\test projet\test5\php\destination\test2.php 79 code erreur: Query was empty
C:\wamp\www\test projet\test5\php\destination\test2.php 79 code erreur: Query was empty
très bien, vérifie donc ton fichier test2.php à la ligne 79 et dis moi quelle requête tu as. Normalement, c'est le passage que je t'ai demandé de vérifier dans mon précédent message^^
Si c'est bien le cas, met la ligne en commentaire (// ou entre /* */) et retente, dis moi ce que ça fait. En principe, avec le code que je t'ai donné, il n'y a plus besoin d'executer cette ligne là^^.
Si tu obtiens toujours des erreurs, donne les moi et mets le contenu de tout ton fichier ici, mis en forme avec les balises adéquates, parce que sans indentation c'est illisible et on corrige mal :s
Si c'est bien le cas, met la ligne en commentaire (// ou entre /* */) et retente, dis moi ce que ça fait. En principe, avec le code que je t'ai donné, il n'y a plus besoin d'executer cette ligne là^^.
Si tu obtiens toujours des erreurs, donne les moi et mets le contenu de tout ton fichier ici, mis en forme avec les balises adéquates, parce que sans indentation c'est illisible et on corrige mal :s