besoin d'une correction svp PHP Mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : besoin d'une correction svp PHP Mysql

Re: besoin d'une correction svp PHP Mysql

par neomega » 26 oct. 2012, 13:11

re bonjour
1) oui il a été payé :cry:

sans le @ le message d'erreur reste le même

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /monsite/add_bdc.php on line 229

Warning: array_unique() [function.array-unique]: The argument should be an array in /monsite/add_bdc.php on line 236

Warning: Invalid argument supplied for foreach() in /monsite/add_bdc.php on line 237

Re: besoin d'une correction svp PHP Mysql

par xTG » 26 oct. 2012, 12:55

Mais c'est quoi cette horreur ! O_______o
J'espère que le développeur n'a pas été payé pour ce script...

Pour avoir plus d'information enlèves les @ dans la fonction Cnx_bd et tu auras les messages d'erreurs de la connexion.

Re: besoin d'une correction svp PHP Mysql

par neomega » 26 oct. 2012, 11:08

bonjour je vien de trouver ceci pour cnx_bd


function Cnx_bd($req,$parle)
{
global $Host,$User,$Pass,$Base;
if (!@mysql_connect($Host, $User, $Pass))
	{
	if ($parle)  {echo "Problème à la connection au SGBD";}
	return false;
	}
if (!@mysql_select_db($Base))
	{
	if ($parle)  {echo "Problème de sélection de la base";}
	return false;
	}
if (!$res = @mysql_query($req))
	{
	if ($parle) {echo "Problème avec la requête SQL : <b>".$req."</b>";}
	return false;
	}
return $res;
}

Re: besoin d'une correction svp PHP Mysql

par neomega » 24 oct. 2012, 23:12

bonjour et merci pour votre rapidité de réponse
malheureusement je ne suis pas le concepteur de ce script " juste le client qui n'arrive plus a joindre le concepteur "

et de plus je débute en php

voici la page au total :
 <?php

if($_SESSION['id_comm']==3)
	{	$admin_tri="";	$admin_tri_cli="";	$admin_tri2="";}
	else
	{	
		$admin_tri="user_devis =".$_SESSION['id_comm']." and";
		$admin_tri_cli="user_client=".$_SESSION['id_comm']." and";
		$admin_tri2="where user_client=".$_SESSION['id_comm'];
	
	}

if($_POST['sub_bdc']==1)
{
	include "form_bdc.php";

	/*foreach ($HTTP_POST_VARS as $c=>$v)
		{	echo "<br>".$c." : ".$v; 	}*/
}
else
{





if($_POST['sub']==1)
{
	echo "<table width=500 cellspacing=0 border=0 align=center>";

	
		if((!$_POST['num'])||($_POST['num']=='Numéro du projet'))
			{
			if (($_POST['town']!="no")&&($_POST['name_cli']=="no"))
				{
				 $req="select * from clients where $admin_tri_cli ville_clients='".$_POST['town']."'";
				}

			if (($_POST['name_cli']!="no")&&($_POST['town']=="no"))
				{
				 $req="select * from clients where $admin_tri_cli id_client='".$_POST['name_cli']."'";
				}

			if (($_POST['name_cli']!="no")&&($_POST['town']!="no"))
				{
				 $req="select * from clients where $admin_tri_cli id_client='".$_POST['name_cli']."' and ville_clients='".$_POST['town']."'";
				}
			if (($_POST['name_cli']=="no")&&($_POST['town']=="no"))
				{
				 $req="select * from clients $admin_tri2 order by nom_client";
				}

			//echo $req;
			
			$count=0;
			$res=Cnx_bd($req,0);
				while($rep=mysql_fetch_object($res))
					{
					$req_liste="SELECT COUNT(*) from devis where $admin_tri client_devis=$rep->id_client and fin_devis!=1";
					$res_liste=Cnx_bd($req_liste,0);
					$res_liste=mysql_result($res_liste,0);

					if($count%2==1)
						{	$color="bgcolor=#e9e8e8";	}
					else
						{	$color="";	}

					if($rep->entreprise_client&&$rep->entreprise_client!="Entreprise")
						{	$corpo= "$rep->entreprise_client<br>";	}
					else
						{	$corpo="";	}
						
						if($rep->id_client!=$id&&$res_liste!=0)
						{ 
							$client="<tr><td $color valign=top>$corpo $rep->prenom_client $rep->nom_client
								<br>$rep->adresse_client 
								<br>$rep->cp_clients $rep->ville_clients</td>";	
							$saut="<tr><td>&nbsp;</td></tr>";
						}
						else
						{	
							$client="<tr height=0><td>";	
							$saut="";
							$color="";
						}
				
					echo $saut;

					echo "$client
					<td $color>";
						
						$req2="select distinct num_devis, date_devis,num_sub_devis,type_devis,client_devis from devis where $admin_tri client_devis=$rep->id_client order by num_devis";
						$res2=Cnx_bd($req2,0);
						while($rep2=mysql_fetch_object($res2))
							{
							$reduc=0;
								if($rep2->type_devis=='1')
								{	$type="Solaire";	}
								else
								{	$type="PaC";	}
							$req3="SELECT COUNT(*) from bdc where num_bdc=$rep2->num_devis and sub_bdc=$rep2->num_sub_devis";
							$res3=Cnx_bd($req3,0);
							
							$req4="select prix_devis from equi_devis where equi_num_devis=$rep2->num_devis  and equi_sub_devis=$rep2->num_sub_devis and id_equi_devis=0";
							$res4=Cnx_bd($req4,0);
								while($rep4=mysql_fetch_object($res4))
								{	$reduc=$rep4->prix_devis;	}

							if(mysql_result($res3,0)==0)
								{
								$add="<INPUT border=0 src=add.gif type=image Value=submit ></td><td>Ajouter un bdc";
								$text_color="";

								}
							else
								{
								$add="</td><td class=gris>Bon de commande édité";
								$text_color="class=gris";
								}

							

							echo "<form method=post><table><tr><td width=85 $text_color>
							<b>$rep2->num_devis-$rep2->num_sub_devis</b> ";
							
							echo "$type </td><td $color width=100 $text_color>".strftime("%d %B %Y",$rep2->date_devis)."</td><td>
					
					$add
					<input type=hidden name=sub_bdc value=1>
					<input type=hidden name=reduc value=$reduc>
					<input type=hidden name=client_devis value=$rep2->client_devis>
					<input type=hidden name=id_dev value=$rep2->num_devis>
					<input type=hidden name=id_sub_dev value=$rep2->num_sub_devis></form>";

					//<a href=?id_dev=$rep->num_devis&var_menu=add_dev>Ajouter un devis pour ce projet</a>
					echo "</td></tr>
					</table>";
							}
					$count++;
					$id=$rep->id_client;

					}
		
			}
			else
			{
				 $req="select * from devis, clients where $admin_tri client_devis=id_client and num_devis=".$_POST['num'];

				 $res=Cnx_bd($req,0);
				 while($rep=mysql_fetch_object($res))
					{
						if($rep->type_devis=='1')
									{	$type="Solaire";	}
								else
									{	$type="PaC";	}

						if($count%2==1)
							{	$color="bgcolor=#e9e8e8";	}
						else
							{	$color="";	}
					
						if($rep->entreprise_client&&$rep->entreprise_client!="Entreprise")
						{	$corpo= "$rep->entreprise_client<br>";	}
						else
						{	$corpo="";	}
						
						
						if($count==0)
							{ 
								$client="$corpo $rep->prenom_client $rep->nom_client
								<br>$rep->adresse_client 
								<br>$rep->cp_clients $rep->ville_clients";	
							//	$saut="<tr><td>&nbsp;</td></tr>";
							}
							else
							{	
								$client="";	
							//	$saut="";
							}	

						echo "<tr height=25><td> $client
						</td><td $color valign=bottom>";
						
						echo "<form method=post><table border=0><tr><td width=85>
						<b>$rep->num_devis-$rep->num_sub_devis</b> ";
								
						echo "$type </td><td $color width=100>".strftime("%d %B %Y",$rep->date_devis)."</td><td valign=middle>
						
						<INPUT border=0 src=add.gif type=image Value=submit ></td><td>Ajouter un bdc
						<input type=hidden name=sub_bdc value=1>
						<input type=hidden name=id_dev value=$rep->num_devis>
						<input type=hidden name=id_sub_dev value=$rep->num_sub_devis></form>";

						//<a href=?id_dev=$rep->num_devis&var_menu=add_dev>Ajouter un devis pour ce projet</a>
						echo "</td></tr>
						</table>";
							
						$count++;

					}
			}
			
			echo "</tr></table>";

		
	
echo "<div align=center width=100%><a href=?var_menu=add_bdc>Retour</a></div>";
}
else
{
echo "<table>";
	
	echo "<div class=titre_section align=center>Ajouter un Bon de commande: </div><br>";
	

?>
<form method=post name=add_devis>


<?

if($_SESSION['id_comm']==3)
	{	$admin_tri="";	$admin_tri_cli="";	}
else
	{	$admin_tri=" where user_client =".$_SESSION['id_comm'];	}
$req="select * from clients ORDER BY nom_client ASC $admin_tri";$res=Cnx_bd($req,0);


	while($rep=mysql_fetch_object($res))
	{	
		$nom.= "<option value=$rep->id_client>$rep->nom_client $rep->prenom_client</option>";
		$ville[]=$rep->ville_clients;
		//$ville.= "<option value=$rep->id_client>$rep->ville_clients</option>";

	}
$ville_result=array_unique($ville);
foreach($ville_result as $v=>$c)
{	$ville_option.= "<option value='$c'>$c</option>";	}


?>

<table border=0 cellspacing=2 align=center>
<tr><td></td><td > Recherchez client :</td></tr>
<tr><td></td><td>
	
	<select name=name_cli>
	<option value='no'> --- Nom de client --- </option>
	<? echo $nom; ?>
	</select>

</td></tr>

<tr><td align=right>ou</td><td>

	<select name=town>
	<option value='no'> ---------- Ville ---------- </option>
	<? echo $ville_option; ?>
	</select>

</td></tr>

<tr height=50><td align=right valign=bottom>ou</td><td valign=bottom><input name=num size=15 value="Numéro du projet" onclick="this.value='';"> </input>
</td></tr>


</table>
<input type=hidden value=1 name=sub>
<table align=center border=0><tr>
<tr height=50><td colspan=4 align=center><input type=submit value=Valider></input></td></tr>

</form>
<?
}

}
?>
pourriez vous me donner une solution pour réparer ces message d'erreur svp

Re: besoin d'une correction svp PHP Mysql

par moogli » 24 oct. 2012, 22:27

salut,


Y'a quoi dans Cnx_bd() ?


Au pif elle ne sert pas à faire de requête, donc le message d'erreur est compréhensible.

$res doit être le résultat de mysql_query



@+

besoin d'une correction svp PHP Mysql

par neomega » 24 oct. 2012, 21:09

bonjour
voici mon message erreur :
Attention : mysql_fetch_object (): argument n'est pas fourni une ressource de résultat MySQL / mon_site/add_bdc.php sur la ligne 229

Avertissement : array_unique () [ function.array-unique ]: L'argument doit être un tableau dans / mon_site/add_bdc.php sur la ligne 236

Avertissement : Invalid argument fourni pour foreach () in / mon_site/add_bdc.php sur la ligne 237
et voici le code de la page et je précise que l’erreur n’apparaît que si on est pas identifier en
if($_SESSION['id_comm']==3)
car pour le super admin sa marche parfaitement :
if($_SESSION['id_comm']==3)
	{	$admin_tri="";	$admin_tri_cli="";	}
else
	{	$admin_tri=" where user_client =".$_SESSION['id_comm'];	}
$req="select * from clients ORDER BY nom_client ASC $admin_tri";$res=Cnx_bd($req,0);


	while($rep=mysql_fetch_object($res))
	{	
		$nom.= "<option value=$rep->id_client>$rep->nom_client $rep->prenom_client</option>";
		$ville[]=$rep->ville_clients;
		//$ville.= "<option value=$rep->id_client>$rep->ville_clients</option>";

	}
$ville_result=array_unique($ville);
foreach($ville_result as $v=>$c)
{	$ville_option.= "<option value='$c'>$c</option>";	}

merci beaucoup de votre aide