Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VOTE POUR SHOUTCAST


Information sur la source

Catégorie :Divers Classé sous : shoutcast, vote, webradio, radio, masterofquebec Niveau : Débutant Date de création : 01/05/2007 Date de mise à jour : 28/08/2007 20:29:42 Vu : 6 495

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

// CODE "OUTDATED" \\|// Nouvelle version avec MYSQL beaucoup plus performante bientôt disponible. \\




Voici un script que j'ai fais.
J'ai utilisé deux scripts pour le faire.
Un script de vote et un script pour récupérer les informations d'un serveur shoutcast.


Le script fais deux boutons exemple :
Pour - Contre
Puis le script regarde le titre de la pièce jouant sur votre webradio.
Si c'est la première fois que une personne vote pour cette musique le script crée un fichier .txt avec ce nom :
Nom de la chanson - Artiste b.txt
Nom de la chanson - Artiste m.txt

Si le vote est positif il change le nombre (+1) étant dans le fichier Nom de la chanson - Artiste b.txt
Et si c'est négatif : il change le nombre (+1) étant dans le fichier Nom de la chanson - Artiste m.txt

Puis l'affiche sur votre page.

Rien n'empêche de faire un include.
 

Source

  • <?php
  • // simple.php - shoutcast 7.html information display utility
  • // version 0.1.5
  • // To use this script, save this page save simple.php then edit the information below as noted, uncomment what you need
  • // To imbed the information on your php site use the include function on the page you wish to display the information
  • // Edit the next two lines with your server information
  • $host = "votre ip";
  • $port = "votre port;
  • // Connect to server
  • $fp=@fsockopen($host,$port,&$errno,&$errstr,10);
  • if (!$fp) {
  • echo "Erreur";
  • } else {
  • // Get data from server
  • fputs($fp,"GET /7 HTTP/1.1\nUser-Agent:Mozilla\n\n");
  • // exit if connection broken
  • for($i=0; $i<1; $i++) {
  • if(feof($fp)) break;
  • $fp_data=fread($fp,31337);
  • usleep(500000);
  • }
  • // Strip useless junk from source data
  • $fp_data=ereg_replace("^.*<body>","",$fp_data);
  • $fp_data=ereg_replace("</body>.*","",$fp_data);
  • // Place values from source into variable names
  • list($current,$status,$peak,$max,$reported,$bit,$song) = explode(",", $fp_data, 7);
  • $trackpattern = "/^[0-9][0-9] /";
  • $trackreplace = "";
  • $song = preg_replace($trackpattern, $trackreplace, $song);
  • if ($status == "1") {
  • // To use any of the outputs below just uncomment (remove the double forward slashes) that line.
  • // Below is an example of all data available in the 7.html file made by the Shoutcast server
  • // **ON BY DEFAULT - COMMENT OUT (put to forwards slashes in front of it) TO HIDE
  • // echo "<html>\n<head>\n<title></title>\n</head>\n<body>\nCurrent Listeners: $current<br>\nServer Status: $status<br>\nListener Peak: $peak<br>\nMaximum Listener: $max<br>\nReported Listeners: $reported<br>\nBroadcast Bitrate: $bit<br>\nCurrent Song: $song\n</body>\n</html>";
  • // Below is a basic one line value of the current song, perfect for front pages of sites
  • } else {
  • } }
  • // the questions and the answers
  • $pool_question="";
  • $pool_option[1]="Pour";
  • $pool_option[2]="Contre";
  • // If counter files are not available,they will be created
  • // You may remove next lines after the first use of the script
  • if (!file_exists($song.'b.txt')){
  • // next two lines will not work if writing permissions are not available
  • // you may create the files bellow manualy with "0" as their unique content
  • file_put_contents ($song.'b.txt',0);
  • file_put_contents ($song.'m.txt',0);
  • }
  • // retrieve data saved in files
  • $pool_responses[1]=file_get_contents($song.'b.txt');
  • $pool_responses[2]=file_get_contents($song.'m.txt');
  • // if user votes, increase corresponding value
  • if ($_POST["7680777"] and $_POST["7680777b"]==""){
  • if ($_POST["7680777"]==1) {$pool_responses[1]++;file_put_contents($song.'b.txt',$pool_responses[1]);}
  • if ($_POST["7680777"]==2) {$pool_responses[2]++;file_put_contents($song.'m.txt',$pool_responses[2]);}
  • }
  • // get percentajes for each answer in the pool
  • // get total number of answers
  • $total_responses=$pool_responses[1]+$pool_responses[2];
  • if ($total_responses==0){$total_responses=1;} // to avoid errors at start
  • // compute percentajes (with one decimal number)
  • $pool_percentaje[1] = round((100*$pool_responses[1])/$total_responses,1);
  • $pool_percentaje[2] = round((100*$pool_responses[2])/$total_responses,1);
  • // print the form, which includes de answers and the percentajes
  • print "<left>\n";
  • print "<form method=post action=".$_SERVER["PHP_SELF"].">\n";
  • // print "<b>".$pool_question."</b>\n";
  • print "<center><table cellpadding=4>\n";
  • // answer 1
  • print "<tr>\n";
  • print "<td><input bgcolor=B70702 type=radio name=7680777 value=1> ".$pool_option[1]."</td>\n";
  • print "<td bgcolor=B70702>".$pool_responses[1]." (".$pool_percentaje[1]."%)</td>\n";
  • print "</tr>\n";
  • // answer 2
  • print "<tr>\n";
  • print "<td><input bgcolor=B70702 type=radio name=7680777 value=2> ".$pool_option[2]."</td>\n";
  • print "<td bgcolor=B70702>".$pool_responses[2]." (".$pool_percentaje[2]."%)</td>\n";
  • print "</tr>\n";
  • print "</table>\n";
  • // a simple control to avoid one user to vote several times
  • if ($_POST["7680777"]){
  • print "<input type=hidden name=7680777b value=1>\n";
  • }
  • print "</left><center><input TYPE=submit value=Add>\n";
  • print "</form>\n";
  • print "</center>\n";
  • ?>
<?php

// simple.php - shoutcast 7.html information display utility
// version 0.1.5

// To use this script, save this page save simple.php then edit the information below as noted, uncomment what you need
// To imbed the information on your php site use the include function on the page you wish to display the information


// Edit the next two lines with your server information
$host = "votre ip";
$port = "votre port;

// Connect to server
$fp=@fsockopen($host,$port,&$errno,&$errstr,10);
 if (!$fp) {
    echo "Erreur";
  } else {

// Get data from server
 fputs($fp,"GET /7 HTTP/1.1\nUser-Agent:Mozilla\n\n");

// exit if connection broken
for($i=0; $i<1; $i++) {
if(feof($fp)) break;
$fp_data=fread($fp,31337);
usleep(500000);
 }

// Strip useless junk from source data
$fp_data=ereg_replace("^.*<body>","",$fp_data);
$fp_data=ereg_replace("</body>.*","",$fp_data);

// Place values from source into variable names
list($current,$status,$peak,$max,$reported,$bit,$song) = explode(",", $fp_data, 7);

$trackpattern = "/^[0-9][0-9] /";
$trackreplace = "";
$song = preg_replace($trackpattern, $trackreplace, $song);

if ($status == "1") {
// To use any of the outputs below just uncomment (remove the double forward slashes) that line.
// Below is an example of all data available in the 7.html file made by the Shoutcast server
// **ON BY DEFAULT - COMMENT OUT (put to forwards slashes in front of it) TO HIDE

// echo "<html>\n<head>\n<title></title>\n</head>\n<body>\nCurrent Listeners: $current<br>\nServer Status: $status<br>\nListener Peak: $peak<br>\nMaximum Listener: $max<br>\nReported Listeners: $reported<br>\nBroadcast Bitrate: $bit<br>\nCurrent Song: $song\n</body>\n</html>";
// Below is a basic one line value of the current song, perfect for front pages of sites

    } else {
 } }





// the questions and the answers
$pool_question="";
$pool_option[1]="Pour";
$pool_option[2]="Contre";

// If counter files are not available,they will be created
// You may remove next lines after the first use of the script
        if (!file_exists($song.'b.txt')){
                // next two lines will not work if writing permissions are not available
                // you may create the files bellow manualy with "0" as their unique content
                file_put_contents ($song.'b.txt',0);
                file_put_contents ($song.'m.txt',0);
        }

// retrieve data saved in files
        $pool_responses[1]=file_get_contents($song.'b.txt');
        $pool_responses[2]=file_get_contents($song.'m.txt');


// if user votes, increase corresponding value
        if ($_POST["7680777"] and $_POST["7680777b"]==""){
                if ($_POST["7680777"]==1) {$pool_responses[1]++;file_put_contents($song.'b.txt',$pool_responses[1]);}
                if ($_POST["7680777"]==2) {$pool_responses[2]++;file_put_contents($song.'m.txt',$pool_responses[2]);}
        }

// get percentajes for each answer in the pool
        // get total number of answers
        $total_responses=$pool_responses[1]+$pool_responses[2];
        if ($total_responses==0){$total_responses=1;}  // to avoid errors at start
        // compute percentajes (with one decimal number)
        $pool_percentaje[1] = round((100*$pool_responses[1])/$total_responses,1);
        $pool_percentaje[2] = round((100*$pool_responses[2])/$total_responses,1);
                                                                
// print the form, which includes de answers and the percentajes
print "<left>\n";
print "<form method=post action=".$_SERVER["PHP_SELF"].">\n";
// print "<b>".$pool_question."</b>\n";
print "<center><table cellpadding=4>\n";
// answer 1
print "<tr>\n";
print "<td><input bgcolor=B70702 type=radio name=7680777 value=1>  ".$pool_option[1]."</td>\n";
print "<td bgcolor=B70702>".$pool_responses[1]." (".$pool_percentaje[1]."%)</td>\n";
print "</tr>\n";
// answer 2
print "<tr>\n";
print "<td><input bgcolor=B70702 type=radio name=7680777 value=2>  ".$pool_option[2]."</td>\n";
print "<td bgcolor=B70702>".$pool_responses[2]." (".$pool_percentaje[2]."%)</td>\n";
print "</tr>\n";
print "</table>\n";
// a simple control to avoid one user to vote several times
if ($_POST["7680777"]){
        print "<input type=hidden name=7680777b value=1>\n";
}
print "</left><center><input TYPE=submit value=Add>\n";
print "</form>\n";
print "</center>\n";

?>

Conclusion

Bientôt une version SQL.


Alors c'est mon premier bon code ^^ (je crois).

Demo ici (si le serveur est en ligne) : http://www.rocksplash.com/


Ps : Désolé si il y a des fautes (j'essayerais de les corrigés).

 

Historique

17 mai 2007 18:39:24 :
Correction d'un problème avec les fichiers txt.
28 août 2007 20:29:42 :
Simple modification pour dire que ce code est "Outdated".

Commentaires et avis

signaler à un administrateur
Commentaire de coucou747 le 03/05/2007 10:30:57

c'est code avec dream ?
" => '
print => echo
plusieurs echos => un seul echo...
de la ligne 40 a 50 j'ai pas trop compris...

signaler à un administrateur
Commentaire de masterofquebec le 05/05/2007 01:16:14

Je ne suis pas un "pro" en php et j'ai deux scripts pour le faire.
Pour la ligne 40 et 50 c'est un bout du code du script no 1 (Shoutcast display utility).

signaler à un administrateur
Commentaire de zonebleue le 10/08/2007 09:10:46

Tu es sûr que c'est toi qui a fait ce script ?

On dirat pas vu que les commentaires sont en anglais -_-

signaler à un administrateur
Commentaire de coucou747 le 10/08/2007 10:48:06

je commente aussi en anglais parfois... malalam commente toujours en anglais, et grenard aussi, c'est juste une habitude a prendre, et qui rend ton programme debugable par n'importe qui (si il est sous licence gpl ou bsd ou autre truc libre evidement)

signaler à un administrateur
Commentaire de masterofquebec le 28/08/2007 20:27:11

zonebleue :
J'ai pris un script en anglais pour la BASE du script de vote.


coucou747 :
La plupart du temps je commente aussi en anglais.

Et c'est pas du deramweaver XD c'est du bloc note.

signaler à un administrateur
Commentaire de zonebleue le 30/11/2007 14:51:25 7/10

mais j'ai un autre problème; l'utilisation de /7.html est moin bien, car quand un titre ayant une virgule est affiché, ça génère une erreur à cause du explode(",", [...]);

signaler à un administrateur
Commentaire de radiosgmick le 17/05/2008 11:48:22

Salut , voila je suis interresser par se code , je l ai tester et ca me genere une erreur ligne 12 ? je crois que c est au niveau de port de la webradio ?

L erreur et Parse error: parse error, unexpected T_STRING in a la ligne 12

Quelqu un peut m aider

signaler à un administrateur
Commentaire de sangohan74 le 18/05/2008 14:17:12

a la ligne 12 il manque un << " >> ce qui donne $port = "votre port"; au lieu de $port = "votre port;


Voila sinon le scritp focntion mai il faut l'adapté en fonction des besoins :)

signaler à un administrateur
Commentaire de radiosgmick le 19/05/2008 01:44:19

je les essaies il y a plusieur erreur ? je sait pas si c est moi mais le probleme d acces ca j ai compris il etait pas la , maintenant il me trouve un probleme au niveau file_put_contents , quelqu un la deja essayer ?

signaler à un administrateur
Commentaire de teck27 le 17/06/2008 00:44:05

Bonjour moi j'ai deux erreur dans le script les voila

1er:

Notice: Undefined index: 7680777 in C:\Program Files\EasyPHP 2.0b1\www\radio\siteradio\vote.php on line 179

2éme:

Notice: Undefined index: 7680777 in C:\Program Files\EasyPHP 2.0b1\www\radio\siteradio\vote.php on line 209

et voila les ligne de code concerner je vous mes le code de 179 a 209

if ($_POST["7680777"] and $_POST["7680777b"]==""){
     if ($_POST["7680777"]==1) {$pool_responses[1]++;file_put_contents($song.'b.txt',$pool_responses[1]);}
     if ($_POST["7680777"]==2) {$pool_responses[2]++;file_put_contents($song.'m.txt',$pool_responses[2]);}
     }
    
     // get percentajes for each answer in the pool
     // get total number of answers
     $total_responses=$pool_responses[1]+$pool_responses[2];
     if ($total_responses==0){$total_responses=1;} // to avoid errors at start
     // compute percentajes (with one decimal number)
     $pool_percentaje[1] = round((100*$pool_responses[1])/$total_responses,1);
     $pool_percentaje[2] = round((100*$pool_responses[2])/$total_responses,1);
    
     // print the form, which includes de answers and the percentajes
     print "<left>\n";
     print "<form method=post action=".$_SERVER["PHP_SELF"].">\n";
     // print "<b>".$pool_question."</b>\n";
     print "<center><table cellpadding=4>\n";
     // answer 1
     print "<tr>\n";
     print "<td><input bgcolor=B70702 type=radio name=7680777 value=1> ".$pool_option[1]."</td>\n";
     print "<td bgcolor=B70702>".$pool_responses[1]." (".$pool_percentaje[1]."%)</td>\n";
     print "</tr>\n";
     // answer 2
     print "<tr>\n";
     print "<td><input bgcolor=B70702 type=radio name=7680777 value=2> ".$pool_option[2]."</td>\n";
     print "<td bgcolor=B70702>".$pool_responses[2]." (".$pool_percentaje[2]."%)</td>\n";
     print "</tr>\n";
     print "</table>\n";
     // a simple control to avoid one user to vote several times
     if ($_POST["7680777"]){

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Vote pour titre classement radio [ par radyonne ] Bonjour,Je voudrais savoir comment faire un vote pour le site web de ma radio avec mon system de titrage et d'affichage de pochettes cd, pour faire vo Systeme de vote pour radio ! [ par radyonne ] Bonjour,je voudrais savoir si quelqu'un saurait faire un system de vote pour le site web de ma radio, un system de vote comme celui de radiowave "top PB dans WINAMP avec shoutcast [ par letardiswebradio ] Je viens de mettre Online une webradio généraliste nommée LETARDIS WEBRADIO sur  letardis.eu   La Music Top Pop Rock Des Années 60 à Nos Jours.Je renc ajout de point apres un clic [ par olvean ] Bonjour a tous alor voila je m'explique je voudrais donner des point au membre apres un clic sur un topla page pour les vote :&lt;?phpsession_start(); recuperer un input de type radio dans ajax [ par moumourourou ] Salut,j'ai un formulaire ou j'ai 2input radioje veux récupérer le input choisis pour faire une requête de sélection d'une base de donnéedonc si vous v Rendre un champ obligatoire si 1 bouton radio coché [ par Frystie01 ] Bonjour tout le monde,j'ai 2 boutons radio dans un document html et en dessous un champ à remplir que j'aimerais rendre obligatoire seulement si le 2e 1formulaire sur 2 pages .....? [ par caliche ] Bonjour, je voudrait créer un mini-formulaire sur ma page d'accueil et que lorsqu'on clic sur "envoyer" cela redirige vers une autre page où se termin Création de site de vote [ par casimodoo ] Bonjour,Mon projet est la création un site web qui a pour but de classifier les différents  endroits de ma ville (café, restaurant, théâtre, lieux pub les boutons radio de html [ par lotfi213_b19 ] bonsoir, priere de me dire ou m'indiquer comment arranger les boutons radio horizontalement,pour qu'ils soient sur la meme ligne j'ai utilisé style="f Prise en compte d'un cookie et rafraichissement fenêtre [ par joel64 ] bonjour,merci à celui ou celle qui me donnera la solution au problème suivant.il s'agit d'un script php de sondage qui affiche la possibilité de vote


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.