php header fout

Status
Niet open voor verdere reacties.

djwouter

Gebruiker
Lid geworden
23 aug 2008
Berichten
142
hier ben ik alweer met het zelfde script.. hij heeft het goed gedaan... het inputten naar database werkt nu supper maar het openen van het m3u bestand wil niet lukken nu... hij geeft steets header fout....

PHP:
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM radiostations WHERE id =" .$id. "";
$result=mysql_query($query) or die("Foutdb1: " . mysql_error());


$num=mysql_num_rows($result);

mysql_close();

$i=0;
while ($i < $num) {

$naam=mysql_result($result,$i,"naam");
$server=mysql_result($result,$i,"server");
$hitsm3u=mysql_result($result,$i,"hitsm3u");
$plus1=1;
$hitsm3u2=$hitsm3u+$plus1 ;




mysql_connect('localhost',$username,$password);

@mysql_select_db($database) or die( "Unable to select database");
$query2="UPDATE radiostations SET hitsm3u='$hitsm3u2' WHERE id =" .$id. "";

mysql_query($query2) or die("Foutdb2: " . mysql_error());


mysql_close();


header("Content-Type: audio/x-mpegurl");
header("Content-Disposition: inline; filename=\"playlist.m3u\"");

?>

#EXTM3U

#EXTINF:123,<? echo "$naam"; ?>powerd by radioluisteren.tk 
http://<? echo "$server"; ?> 

<?

$i++;
}



?>

foutmelding :
Code:
Warning: Cannot modify header information - headers already sent by (output started at /home/wouter4/domains/14media.fiberhosted.nl/public_html/m3u.php:2) in /home/wouter4/domains/14media.fiberhosted.nl/public_html/m3u.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/wouter4/domains/14media.fiberhosted.nl/public_html/m3u.php:2) in /home/wouter4/domains/14media.fiberhosted.nl/public_html/m3u.php on line 47
#EXTM3U #EXTINF:123,radio538 partypowerd by radioluisteren.tk http://82.201.100.10:8000/WEB16
 
Hey,

Zie nu al wat slordigheidjes als missende sluitingstekens etc. Ga die eerst eens zoeken.
Ook zie ik dat je twee keer dezelfde database opent? Open hem een keer, voor 2 querys uit en sluit hem daarna maar 1 keer. Ook zie ik je nergens iets echo'en? Wat moet er als output komen? Ben nog even aan het zoeken waar je header fout door komt.
Gegroet,
Michiel

EDIT:
zie zoiezo niet helemaal wat je in die while-loop nou precies doet, betje uitleg zou fijn zijn.
Ik zou die while loop vervangen door een for loop:
for($i=0;$i<10;$i++){
Je opteldingen?
}
Zo zit je niet met die $i te kijken buiten je loop.

Laat eerst eens even weten wat deze pagina precies doet, dan kan ik je beter helpen.
 
Laatst bewerkt:
het oorspronkelen idee was dat hij een m3u playlist genereerd...
maar was het nu doet is in deze volgoorde

1. hij haalt via de get functie de ID op...
2. hij haalt gegevens op dus
- streamlink
-streamtitel
-aantal keren geopend
3. aantal keer geopend =1 want hij is weer meer geopend...
4dan gaat hij die weer updaten in database...
5 genereert m3u stream

dat is de volgoorde....
 
bijna

Heb het nu zover dat de stream goed gegenereert wordt.
header moet je altijd helemaal bovenaan hebben staan.
PHP:
<?php
header("Content-Type: audio/x-mpegurl");
header("Content-Disposition: inline; filename=\"playlist.m3u\"");
$id=$_GET["id"];
mysql_connect('localhost',$username,$password);
mysql_select_db($database) or die( "Unable to select database");
$radiostation="SELECT * FROM radiostations WHERE id = $id";
$result=mysql_query($radiostation) or die("Foutdb1: " . mysql_error());

$i=0;
while ($row = mysql_fetch_assoc($result)) {
echo "#EXTM3U\n";
echo "#EXTINF:$i,$row['naam']\n";
echo "http://<?php echo $row['server']\n\n";

$i++;
}
mysql_close(); 
?>
Hier heb ik nog niet het registreren van hits in verwerkt aangezien dit erg raar in de tabel zou komen; je zou in elke rij het aantal hits krijgen. Ik zou een apparte tabel maken met Algemene informatie o.i.d. en dit hits hier eenmalig in verwerken. Dit kan door een extra query toe te voegen. Zet deze boven de loop en maak niet opnieuw verbinding met de database:

PHP:
$result = mysql_query("SELECT hits FROM Algemeen");
$row = mysql_fetch_row($result);
$hits = $row[0];
$hits = $hits+1;
mysql_query("UPDATE Algemeen SET hits=$hits");
 
Laatst bewerkt:
fout.....

in deze regel

PHP:
echo "#EXTINF:$i,$row['naam']\n";

foutcode

Code:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
 
Sorry:
PHP:
echo "#EXTINF:$i,$row['naam']\n";
moet zijn:
PHP:
echo "#EXTINF:$i,".$row['naam']."\n";
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan