Song ID must be valid (niet opgelost)

PHP, HTML, Joomla, WordPress, etc..
Evertje

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door Evertje »

Evertje schreef:Jack,

Zoiets is snel op te lossen d.m.v. een .htaccess bestand in de root te zetten met de volgende regel:

Code: Selecteer alles

php_value register_globals 1
Wederom succes..
Zoals ik ook al aangaf..

Fijn dat je, ook al ben je niet de persoon die het probleem had, toch eventjes bevestigd dat het probleem hiermee was opgelost!!
slstreamer

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door slstreamer »

Met alle info die ik heb kunnen vinden kan ik nu via php wel een nummer aanvragen, dan komt ook het Dedicate-scherm, maar als je daar een boodschap intypt springt hij toch weer terug naar Song-ID must be valid. Ook krijg ik geen platenlijsten, alleen de eerste. Het aangevraagde nummer wordt ook netjes gespeeld. Wat doe ik fout?
Gebruikersavatar
Wout
Beheerder
Berichten: 3501
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door Wout »

Net een verzoekje aangevraagd op je site.
Maar je gebruikt HTML i.p.v. PHP daardoor kan je geen berichten intypen.
Afbeelding
Evertje

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door Evertje »

Heel slim opgemerkt wout.. 8)
slstreamer

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door slstreamer »

Klopt, ik had de html pagina weer teruggezet :-D . Heb links boven nu een link gemaakt naar de php pagina.

Gr. Cees
Evertje

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door Evertje »

Cees, zou jij uit de map ./req/ de bestanden req.php én dedication.form.html hier kunnen posten?!

[s]Er gaat namelijk iets mis bij het overnemen van ~~[/s] dat hoef ik je niet te vertellen, dat geef je zelf al aan haha.. :lol:

Mogelijk is mod_security op de server zo strak afgesteld, dat het daarom niet werkt!! Máár eerst die bestanden eens bekijken.. 8)
slstreamer

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door slstreamer »

Hierbij de req.php uit de map req:

Code: Selecteer alles


<?
 Def($samhost,$sam["host"]);
 Def($samport,$sam["port"]);
 Def($dedicated,false);
 
 if(empty($samhost)) DoError(800);
 //if(($samhost=="127.0.0.1") OR ($samhost=="localhost")) DoError(801);
 $songid = isset($_GET['songid']) && is_numeric($_GET['songid']) ? $_GET['songid'] : DoError(802);
;
 
 settype($songid,"integer"); //Make sure songID is an integer to avoid SQL injection
 
 $host = $_SERVER["REMOTE_ADDR"];
 
 $request = "GET /req/?songID=".$songid."&host=".urlencode($_SERVER['REMOTE_ADDR'])." HTTP\1.0\r\n\r\n"; 
$xmldata = "";
$fd = @fsockopen($samhost,$samport, $errno, $errstr, 30);
//$fd = fopen("http://$samhost:$samport/req/?songID=$songID&host=".urlencode($host),"r");
//echo "fd=$fd";
if(!empty($fd))
{
 fputs ($fd, $request);
$line="";
  while(!($line=="\r\n"))
  { $line=fgets($fd,128); }	// strip out the header
  while ($buffer = fgets($fd, 4096))
 {  $xmldata  .= $buffer; }
 fclose($fd);
}
else DoError(803);

if(empty($xmldata)) DoError(804);
  
 //$xmldata = File2Str($url);
 
 //Header("Content-type:text/xml");
// echo $xmldata;
 
//#################################
//      Initialize data
//#################################
 $tree = XML2Array($xmldata);
 $request = Keys2Lower($tree["REQUEST"]);
 
 $code    = $request["status"]["code"];
 $message = $request["status"]["message"];
 $requestid = $request["status"]["requestid"];
 if(empty($code)) DoError(804);
 
if($requestid>0) 
{
 /*== If your database is located on a remote host, you must specify local SAM login details here ===*/ 
 $db = new DBTable();
 $db->connect($samlogin);
 $db->open("SELECT songlist.*, songlist.ID as songID FROM requestlist, songlist 
           WHERE (songlist.ID = requestlist.songID) AND (requestlist.ID = $requestid)",1);
		   
if($song=$db->row())
{		
	if(!isset($song["songid"])) $song["songid"]=0;
	$song["requestid"] = $requestid;
	PrepareSong($song);
}	   
 
} 
 

 if($code==200)
  require("req/req.success.html");
 else
  require("req/req.failed.html");
  
function DoError($code)  
{
 global $samhost, $samport, $errno, $errstr;
 
 switch ($code)
 {
  case 800 : $message = "SAM host must be specified"; break;
  case 801 : $message = "SAM host can not be 127.0.0.1 or localhost"; break;
  case 802 : $message = "Song ID must be valid";  break;
  case 803 : $message = "Unable to connect to $samhost:$samport. Station might be offline.<br>The error returned was $errstr ($errno).";  break;
  case 804 : $message = "Invalid data returned!";  break;
 }
 require("req/req.failed.html"); 
 exit;
}
?>
en de dedication.form:

Code: Selecteer alles


<table border="0">
	<tr><td nowrap><img src="images/im.gif"
        width="16" height="16" align="absmiddle" border="0">&nbsp; <font size=2><b>Dedications</b></font><br></td></tr>
      <tr>
        <td><p class="bodycopy">Would you like to dedicate your
        request to somebody?</td>
      </tr>
      <tr>
        <td>
		
		<form method="POST" action="req.php">
<? InputHidden("requestid",$song["requestid"],0); ?> 		
<? InputHidden("songid",$song["songid"],0); ?>
          <p class="bodycopy"><img src="images/arrow.gif" width="14"
          height="9"> Your name:<br>
          <input type="text" name="rname" size="30"></p>
          <p class="bodycopy"><img src="images/arrow.gif"
          width="14" height="9""> Your message<br>
          <textarea rows="4" name="rmessage" cols="24"></textarea><br>
          <input type="submit" value="Dedicate it!" name="B1"></p>
        </form>
		

    </td>
  </tr>
</table>
Alvast bedankt voor je moeite!!
Evertje

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door Evertje »

Wijzig..

Code: Selecteer alles

if(!isset($song["songid"])) $song["songid"]=0;
..eens in..

Code: Selecteer alles

$song["ID"] = (is_numeric($song["ID"]) ? $song["ID"] : 0);
..of..

Code: Selecteer alles

$song["songID"] = (is_numeric($song["songID"]) ? $song["songID"] : 0);
Je doet een request, en dan klopt de songid nog, maar zodra je een berichtpost is het songid "verdwenen"..
In songlist staat alleen ID, in requestlist alleen songID!! Ik gok dat de eerste jou probleem oplost?!
slstreamer

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door slstreamer »

Heb beide opties geprobeerd Evert, maar het blijft hetzelfde.

Had overigens ook niets veranderd aan req.php (dan alleen de dingen die elders op het forum beschreven staan).
Heb overal een .htaccess toegevoegd, zelfs een ini.php.
slstreamer

Re: Song ID must be valid (niet opgelost)

Ongelezen bericht door slstreamer »

Even een vervolg op bovenstaand verhaal:

Omdat ik met Vista werk, en Sam 4.7.1. daar beter mee om zou moeten gaan, heb ik Sam dus maar eens geupdate, in de hoop het bovenstaand probleem op te lossen.
Nou, opgelost is het zeker niet, want ik krijg de PHP pagina's niet meer aan de gang, ze blijven staan op de laatste info die met de vorige Sam-versie was gegenereerd. Nieuwe info komt niet meer tevoorschijn.

Heb alle PHPmappen van 4.7.1. op de server gezet met de nodige aanpassingen.
Iemand een oplossing?

EDIT: Php mappen werken weer na herinstallatie van MySQL, maar probleem blijft bestaan.
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht