Aide pour une échange de bannière

WRInaute occasionnel
Bonjour, je suis entrain de concevoir un échange de bannière sur mon site. Je souhaite pourvoir valider les bannière des membres avant de les diffuser. Voici la table de ma base de donnée :
table.jpg

Id désigne l'id du membre, name son nom, email son email, source l'adresse de la bannière, views le nombre d'affichage restant, clicks, le nombre de clique reçu, target l'URL du site à ouvrir, anzahl le nombre d'affichage demandé et showup l'état du compte.

Je voudrai qu'à partir de l'espace admin de mon site, je puisse valider les bannières. J'ai donc réalisé ce fichier, qui m'affiche les bannières dont le "showup" est à 0" (les bannières à valider), et il marche :

Code:
<?php

require('../admin/prepend.php');
$noshowups=activebanners();

banner_cleandb();

?>
Nouvelles banni&egrave;res &agrave; valider : </u></p>
              <table bgcolor="#FFFFFF" bordercolor="#000000" border="1" width="92%" align="center">
                <tr align="center">
                  <td width="22%"><div align="center" class="Style30 Style37"><span class="Style37"><strong>ID</strong></span></div></td>
                  <td width="10%"><div align="center" class="Style30 Style37"><span class="Style37">Email</span></div></td>
                  <td width="15%"><div align="center" class="Style30 Style37"><span class="Style37">Banni&egrave;re</span></div></td>
                  <td width="21%"><div align="center" class="Style30 Style37"><span class="Style37">Site</span></div></td>
                  <td width="21%"><div align="center" class="Style30 Style37"><span class="Style37">Affichages</span></div></td>
                  <td width="11%"><div align="center" class="Style30 Style37">Action</div></td>
                </tr>
                <?php

for($i=0; $i<count($noshowups); $i++)
        echo '
<tr align="center">
<td width="20%">'.$noshowups[$i][id].'</td>
<td width="8%">'.$noshowups[$i][email].'</td>
<td width="52%"><a href="'.$noshowups[$i][source].'" target="_blank">Bannière</a></td>
<td width="10%"><a href="'.$noshowups[$i][target].'" target="_blank">Site</a></td>
<td width="10%">'.$noshowups[$i][anzahl].'</td>
<td width="10%"><form method="post" action="./valider-bannieres-supprime.php"><input type="hidden" name="id" value="'.$noshowups[$i][id].'"><input type="submit" value="Delete"></form><form method="post" action="./valider-bannieres-ok.php"><input type="hidden" name="id" value="'.$noshowups[$i][id].'"><input type="submit" value="Validate"></form></td>
</tr>
        ';

?>
</table>
 <p align="center">
<input name="image2" type="image" id="Actualiser" onClick="window.location.reload(true)" value="Actualiser" src="../images/actualiser.png" alt="Actualiser la page">
</p>
<p>&nbsp;</p>
<br>
<p align="center" class="Style44">&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

Je ne sais pas quoi mettre dans mes 2 fichiers, valider-bannieres-ok.php et valider-bannieres-supprime.php. Pourriez-vous m'aider? Merci.
 
WRInaute discret
c'est un script que tu as eu sur le net ?
A mon avis dans merci tu dois mettre un message comme quoi la bannière est valider, et dans supprimer un message comem quoi la bannière est supprimée.

Apres a toi de chercher un peu :)
 
WRInaute discret
J'espere que tu t'y connais en php pour pouvoir modifier ce genre de script.
Car si tu debute va falloir te renseigner sur le langague avant d ele modifier.
 
WRInaute occasionnel
Non en fait je ne m'y connais pas du tout. J'ai acheté ce script et d'origine, les bannières s'affichent sans validation du webmaster, c'est pour ça que je compte créer une validation. J'ai actuellement fais 3 fichiers, valider-banniere.php qui affiche l'id du membre, son email, l'adresse de sa bannière et son site, et 2 bouttons, "supprimer" (valider-bannieres-supprime.php) et "valider"(valider-bannieres-ok.php). Je veux que le fichiers valider met la valeur "1" à un champs nommé "showup" de la table demo_a_banners dans la base de donnée et que supprimé supprime la bannière de la table demo_a_banners. Le premier fichier affiche les bannières correctement, mais je n'arrive pas a faire les fichiers de suppression et de validation.
 
WRInaute passionné
Si tu ne t'y connais pas du tout, je te conseil de changer tout de suite de module. En cherchant bien, tu trouvera ce qu'il te faut ;)
 
WRInaute passionné
Je ne suis pas n'omplut un pro du php; mais bon si tu ne comprend rien au php, je te conseil de trouver un module en php que tu trouvera sur le net
...et non des moule :lol:

Pendant lomgtemps j'ai eu les mêmes soucis que toi, ce qui est une réelle contrainte pour construir certaine chose. Mais je pense que des module en php ou les webmasters les propose doit pouvoir exister.

je te conseil d'utiliser notre amis GG pour te trouver cela ;)
 
WRInaute accro
j'ai pas trop le temps en fait... je ne faisais que passer mais en gros dans le fichier valider-bannieres-ok.php

Code:
//Récupération automatique de la variable $id passée en paramètre caché (hidden)
//t'as oublié de préciser le nom de la table... je l'appelle donc "table"
$requete= "update table set showup=1 where id=$id";

//tu établis la connexion à la bdd ici et le résultat est stocké dans la variable $cxn : 
$cnx = odbc_connect( $bd , $user, $password );        // ouvre DB access 
if (!$cnx) echo "Impossible de se connecter"; 

//exécution de la requête
$resultat=@mysql_query($requete,$cnx);
//fermeture de la connexion à la bdd
@mysql_close();

// Tu affiches un message avec echo ""; 
// ou tu rediriges vers la page adéquate avec un header("Location: $mon_url);

Pour le fichier valider-bannieres-supprime.php
C'est la même chose sauf que la requete sera :
Code:
$requete = "delete from table where id=$id";

+ de la doc avec des exemples simples ici :
http://www.phpteam.net/index.php?option ... &Itemid=54
 
WRInaute accro
N'oublie pas de remplacer $bd , $user, $password par leurs valeurs entre guillemets (je ne connais pas ton niveau donc c'est pas évident d'expliquer).

Pour la fin de l'exemple :

tu affiches avec un
Code:
echo "blablabla c'est ok...blablabla";
ou
tu rediriges la page avec :
Code:
header(Location: $mon_url");


C'est l'un ou l'autre (j'insiste : surtout pas les deux !)

et n'oublie pas de remplacer $nom_url par la bonne url si tu choisis la redirection...
 
WRInaute occasionnel
Ce CODE vous parait-il correct?

Code:
<?php
$requete= "update demo_a_banners set showup=1 where id=$id"; 
$mysql_host='sql.monsite.com';
$mysql_username='login';
$mysql_password='mot de passe';
$mysql_db='nom de ma base';
$resultat=@mysql_query($requete,$cnx);
@mysql_close(); 
header("Location: ../admin/valider-bannieres.php");
?>


J'ai bien sur rentré les infos concernant ma base de donnée, mais ça ne marche pas...
 
WRInaute accro
nan manque la connexion à la bdd... t'as juste remplis les valeurs mais pas effectué la connexion que tu stockes dans $cnx

fais ceci :
Code:
  $utilisateur = "login";
  $motdepasse = "mot de passe";
  $base = "nom de ma base";
  $serveur = "sql.monsite.com";
  function dbConnect(){
    global $utilisateur, $motdepasse, $serveur,$base;
    $connexion = @mysql_connect($serveur, $utilisateur, $motdepasse);
	@mysql_select_db($base,$connexion);
    return $connexion;
  }

$requete= "update demo_a_banners set showup=1 where id=$id"; 
$cnx = dbConnect();
$resultat = @mysql_query($requete,$cnx); 
@mysql_close(); 
header("Location: ../admin/valider-bannieres.php");
 
WRInaute accro
même que tu pourrais écrire plutôt :
Code:
header("Location: ../admin/valider-bannieres.php?msg=mon message");

et faire un :
Code:
echo $msg;
dans la page ../admin/valider-bannieres.php
 
WRInaute occasionnel
Sa servirait à quoi? Et dans "$cnx = odbc_connect( $bd , $user, $password );" je rentre comment mes identifiants? entre ''? Je laise le $? Merci
 
WRInaute accro
non, prends plutôt le contenu du code que je t'ai mis là, il n'y a plus cette ligne de code "$cnx = odbc_connect( $bd , $user, $password );" donc plus de problème...

Tu n'as plus qu'à modifier ce qui suit :

Code:
$utilisateur = "login"; 
  $motdepasse = "mot de passe"; 
  $base = "nom de ma base"; 
  $serveur = "sql.monsite.com";
 
WRInaute occasionnel
C'est parfait, ça marche, la validation et la suppression. Mais actuellement toutes les bannières s'affichent. Il faut que je mette qui si le champs "showup" est à zéro, la bannière ne s'affiche pas, qu'il faut sélectionner que les bannières dont le "showup" vaut 1. Comment le modifier dans le code ci-dessous? (c'est celui qui me permet d'afficher les bannières).

Code:
}
function banner_view()
{
        global $id, $banner_default_source, $userid;
        $query="SELECT id, source, alt FROM demo_a_banners WHERE clicks>0 OR views>0 ORDER BY lastview ASC LIMIT 1";
        $result=mysql_query($query);
        $banner=@mysql_fetch_array($result);
        $query="UPDATE demo_a_banners SET views=views-1, lastview='".time()."' WHERE id='".$banner[id]."';";
        mysql_query($query);
        if(!$banner[source])
                $banner[source]=$banner_default_source;
        if(!$banner[alt])
                $banner[alt]=$banner_default_alt;
        echo '<a href="./banner_click.php?bannerid='.$banner[id].'&&userid='.$userid.'" target="_blank"><img src="'.$banner[source].'" border="0" alt="'.$banner[alt].'"></a>';
 
WRInaute occasionnel
Puis-je mettre :
Code:
$query="SELECT id, source, alt FROM demo_a_banners WHERE clicks>0 OR views>0 AND showup=1 ORDER BY lastview ASC LIMIT 1";
 
WRInaute impliqué
twin a dit:
Je ne suis pas n'omplut un pro du php; mais bon si tu ne comprend rien au php, je te conseil de trouver un module en php que tu trouvera sur le net
...et non des moule :lol:

je te conseil d'utiliser notre amis GG pour te trouver cela ;)

"Je ne suis pas n'omplut..."

Une de ces merveilles orthographiques que l'on retrouve parfois sur les forums. :lol:
 
Discussions similaires
Haut