Ga naar inhoud

Probleem binnen php if/else statement...


anoniem

Aanbevolen berichten

Dit is mijn code: [code:1:2fc8810e04]?php //Openen bestand $fp=fopen("http://www.frontaal-online.com/winamp/whatsplaying.html","r"); //Bestand lezen tot regel 4, pas dan wordt t interressant... $regel1 = fgets($fp, 1024); $regel2 = fgets($fp, 1024); $regel3 = fgets($fp, 1024); $track = fgets($fp, 1024); //WinAmp aan en spelende of uit?? //Bestand sluiten. fclose($fp); if ($track == "I am not listening to anything right now.") { print "Ehmm... WinAmp staat uit."; } else { // Verwijderen van alle HTML-tags uit de output $track = strip_tags($track); // Vervangen van 'Presently playing:' met '' $vervangen = ''; $track = ereg_replace('Presently playing:', $vervangen, $track); list ($artiest, $nummer) = split(' - ', $track); print "Titel: $nummer<br />\n"; print "Artiest: $artiest<br />\n"; } ?>[/code:1:2fc8810e04] Ik heb een plugin gedownload voor WinAmp, welke een HTML-agina upload naar een webserver. Dit HTML bestand geeft op regel 4, een output van wat er gebeurt.. Dus: a) [i:2fc8810e04]'Presently playing: $artiest $nummer'[/i:2fc8810e04] of b) [i:2fc8810e04]"I am not listening to anything right now."[/i:2fc8810e04] (WinAmp staat dus uit) Volgens mij check ik met deze code of regel 4 "I am not listening to anything right now." bevat met de volgende code: [code:1:2fc8810e04] if ($track == "I am not listening to anything right now.") { print "Ehmm... WinAmp staat uit."; } [/code:1:2fc8810e04] Bevat de code deze tekst niet, zou het het else statement uit moeten voeren. En toch werkt het niet correct. De output bij een afgesloten WinAmp is nogsteeds [i:2fc8810e04]"I am not listening to anything right now."[/i:2fc8810e04] ipv [i:2fc8810e04]"Ehmm... WinAmp staat uit."[/i:2fc8810e04] Iemand enig idee???
Link naar reactie
Ik heb het html-bestand hier staan: [url]http://www.frontaal-online.com/winamp/whatsplaying.html[/url] en het PHP-bestand hier: [url]http://www.frontaal-online.com/winamp/index.php[/url] De broncode van het PHP bestand is nu enigzins verandert tot het volgende bestand: [code:1:ec5e699da2] <?php //Open file $fp=fopen("http://www.frontaal-online.com/winamp/whatsplaying.html","r"); //Read from file till rule 4, there it's interesting... $regel1 = fgets($fp, 1024); $regel2 = fgets($fp, 1024); $regel3 = fgets($fp, 1024); $track = fgets($fp, 1024); //Is WinAmp playing a song or is it off? //close the file. fclose($fp); // Delete all HTML-tags from output $track = strip_tags($track); // Replace 'Presently playing:' with '' $vervangen = ''; $track = ereg_replace('Presently playing:', $vervangen, $track); list ($artiest, $nummer) = split(' - ', $track); // later with drupal we use this: echo contentfilter("$track"); if ($artiest == "I am not listening to anything right now.") { print "Ehm... WinAmp staat uit.."; } else if ($nummer == "I am not listening to anything right now.") { print "Ehm... WinAmp staat uit.."; } else { print "Song: $nummer<br />\n"; print "Artist: $artiest<br />\n"; } ?>[/code:1:ec5e699da2] Help me alsjeblieft, want ik zit echt muur en muurvast!
Link naar reactie
[quote:67f56964d0="Stefan Nagtegaal"]Er staat toch? [code:1:67f56964d0]$track = strip_tags($track); [/code:1:67f56964d0] Dus dat wordt eruit gehaald... raag wat andere ideeen hierover???[/quote:67f56964d0]Misschien moet je je probleem eens helder omschrijven, wat ik er nu van maak is dat je if/else niet werkt en je altijd in de else komt. Daar staat inderdaad die strip_tags ja, maar je komt dus nu altijd in de else en nooit in de if. Nu post je hierboven een script, maar hoe kunnen wij nu ooit testen of ie nu wel gaat weergeven of Winamp uit staat, als je Winamp altijd hebt aan staan (en wij dus nooit die string dat Winamp uit staat kunnen zien)? Niet dus...
Link naar reactie
[code:1:69ec622230]... $track = trim(strip_tags($track)); if($track == "I am not listening to anything right now.") { print "Ehm... WinAmp staat uit.."; } else { ... } ...[/code:1:69ec622230] Let vooral op die "trim". Gewoon een kwestie van $track uitprinten en kijken waarom die if/else niet werkt (er staan dus spaties achter die $track). Nog wat: str_replace werkt in dit geval stukken sneller dan ereg_replace...
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...