Audio in php

Overzicht

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4

19/12/2022 15:20:39
Anchor link
Als je in een browser de link "/Muziek/AMP3/Artiest - Liedje.mp3" geeft dan heb je het niet begrepen, dat is geen geldige URL.

Je moet er iets van maken als "https://domeinnaam.tld/Muziek/AMP3/Artiest%20-%20Liedje.mp3". Hoe moet een browser (anders dan misschien Internet Explorer of Edge) het anders snappen?
 
PHP hulp

PHP hulp

21/12/2024 15:20:58
 
Ed Jeurissen

Ed Jeurissen

19/12/2022 15:24:54
Anchor link
zo dan?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
            <?php
            session_start();

            if(isset($_SESSION['username']))
            {

            
            ?>
  

            <!DOCTYPE html>
            <html>
            <head>
            <link rel="stylesheet" href="../../sidebar3.css">
            <link rel="icon" href="../../../../../favicon.ico" type="image/x-icon"/>
            <title>Muziek A</title>
            </head>
            <body>

            <div id="container">
              <div id="sidebar">
                
            <ul>
            <li><a href= "../../userhome.php">Home</a></li>
              <li><a href= "0.php">0</a></li>
              <li><a href= "1.php">1</a></li>
              <li><a href= "2.php">2</a></li>
              <li><a href= "3.php">3</a></li>
              <li><a href= "4.php">4</a></li>
              <li><a href= "5.php">5</a></li>
              <li><a href= "6.php">6</a></li>
              <li><a href= "7.php">7</a></li>
              <li><a href= "8.php">8</a></li>
              <li><a href= "9.php">9</a></li>
              <li><a href= "A.php">A</a></li>
              <li><a href= "B.php">B</a></li>
              <li><a href= "C.php">C</a></li>
              <li><a href= "D.php">D</a></li>
              <li><a href= "E.php">E</a></li>
              <li><a href= "F.php">F</a></li>
              <li><a href= "G.php">G</a></li>
              <li><a href= "H.php">H</a></li>
              <li><a href= "I.php">I</a></li>
              <li><a href= "J.php">J</a></li>
              <li><a href= "K.php">K</a></li>
              <li><a href= "L.php">L</a></li>
              <li><a href= "M.php">M</a></li>
              <li><a href= "N.php">N</a></li>
              <li><a href= "O.php">O</a></li>
              <li><a href= "P.php">P</a></li>
              <li><a href= "Q.php">Q</a></li>
              <li><a href= "R.php">R</a></li>
              <li><a href= "S.php">S</a></li>
              <li><a href= "T.php">T</a></li>
              <li><a href= "U.php">U</a></li>
              <li><a href= "V.php">V</a></li>
              <li><a href= "W.php">W</a></li>
              <li><a href= "X.php">X</a></li>
              <li><a href= "Y.php">Y</a></li>
              <li><a href= "Z.php">Z</a></li>
    

            </ul>
            <div id="sidebar-content" style="height: 50px"></div>
            </div><!--
            --><div id="content">

                <a href ="index.php"></a>
                <?php

                    require_once "connectionmuziek.php";

                    $sql  = "SELECT * FROM amp3 ORDER BY id ASC";

                    
                    $res = mysqli_query($conn, $sql);
                    //print_r ($res);

                    if(mysqli_num_rows($res)> 0)
                    {

                        while($images = mysqli_fetch_assoc($res))
                        {

                        //print_r ($images);


                ?>

                        
                        <div class = "alb">
                <audio controls>
                    <source src="http://localhost:8080/website/Muziek/AMP3/<?php echo file_exists($images['mp3data']); ?>" type="audio/mpeg"><!--MP3, -->

                </audio>
                  <?php echo $images['Mp3Naam']; ?><!--Titelliedje-->
              </div>

                <?php    }

                }

                ?>

            </body>
            </html>
        
            <br>
            
            











            <div id="main-content" style="height: 1800px"></div><br><br>



<?php
}
else
{
    echo "<script>location.href='inlog.php'</script>";
}

?>
<br>
 
- Ariën  -
Beheerder

- Ariën -

19/12/2022 15:33:33
Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo file_exists($images['mp3data']); ?>

Het is handig om niet lukraak wat te proberen, maar door te kijken hoe het werkt.
Hier sla je nu al compleet de plank mee mis. Lees even op www.php.net/file_exists

Ik neem aan dat je de player wilt tonen als een bestand bestaat. Als zou deze brakke constructie werken (terwijl er eigenlijk een if-statement bij hoort), blijf je die player behouden met een lege naam, wat nog niks opschiet.

Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(file_exists($images['mp3data'])) {
    echo "Toon player hier!";
}

?>



Toevoeging op 19/12/2022 15:56:51:

Als ik nog wat tips mag geven:

- Bouw je script op dat je een een lijst.php hebt, waarbij je met GET een specifieke letter op kan geven.
Zoals: lijst.php?letter=A, waarna je alles met een A ziet. Pas je SELECT-query aan met een LIKE, en haal alles op wat met $_GET['letter'] begint. Denk ook aan SQL-injectie preventie!

- Gebruik range("A","Z") (http://php.net/range) om het alfabet in een array te zetten. Een foreach is vervolgens voldoende om 26 verschillende URL"s te genereren. Herhaal dit ook met je cijfers.

- Pas de file_exists() goed toe. Maar dat had ik al uitgelegd ;-)

- Haal de excessief gebruikte enters weg. Het is bij het posten hier niet echt zinvol.
Meteen komt dit uit bij een huishoudelijke mededeling: We zien we ook liever relevante code bij een probleem. Dus geen 100 regels, maar iets van 3 tot 10. Dat maakt het topic veel leesbaarder.

- Pas goede foutafhandeling toe op je query.

- En wat doen die br's en div na je html-sluittag?

- De Javascript location kan je beter vervangen door een PHP location header. Zolang je maar geen HTML ervoor output. Als je logisch nadenkt dan kan dat prima.

Als je alles toepast zal je script veel fijner en logischer werken.
Gewijzigd op 19/12/2022 16:02:14 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

19/12/2022 18:04:53
Anchor link
Oeps het tweede deel had ik niet gelezen...........


Toevoeging op 20/12/2022 15:02:45:

Het essentiële stukje code. Iemand een idee?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
                <audio controls>
                    <source src="http://localhost:8080/root/website/Muziek/AMP3/
                    <?php
                    if (file_exists($images['mp3data']))
                    {

                      echo "Toon player hier!";
                    }
                    ;
?>
" type="audio/mpeg"><!--MP3, -->

                </audio>
          
                  <?php echo $images['Mp3Naam']; ?><!--Titelliedje-->
 
- Ariën  -
Beheerder

- Ariën -

20/12/2022 15:09:16
Anchor link
Bekijk de code eens aandachtig per regel. Valt er iets op?

Op ben je meer van copy/pasten?
In dat laatste geval gaat het echt niet lukken, zo!
 
Ed Jeurissen

Ed Jeurissen

20/12/2022 15:41:22
Anchor link
Dit rolt er uit met de ontwikkelaarsgereedschap:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
                        <div class = "alb">
                    
                <audio controls>
                    <source src="http://localhost:8080/root/website/Muziek/AMP3/
                    Toon player hier!" type="audio/mpeg"><!--MP3, -->

                </audio>
          
                  1 Az Yet - Last Night.mp3<!--Titelliedje-->
              </div>



Toevoeging op 20/12/2022 15:42:45:

en ps ik heb van mp3data Mp3data gemaakt dat lost wel undefined index op maar kost mijn probleem nog niet op
 
- Ariën  -
Beheerder

- Ariën -

20/12/2022 15:48:23
Anchor link
Omdat je lukraak staat te kopiëren en plakken.

Je moet begrijpen wat je doet.
Weten wat er gebeurt!
Erbij stil staan.

Heb je al die echo gezien in mijn code?
Heb je al gedaan wat er stond?

Niet gek, dat je opeens deze gare output ziet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<source src="http://localhost:8080/root/website/Muziek/AMP3/
                    Toon player hier!" type="audio/mpeg">


Wat vind je zelf van dit pad?
http://localhost:8080/root/website/Muziek/AMP3Toon player hier!
Gewijzigd op 20/12/2022 15:51:23 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

20/12/2022 15:56:30
Anchor link
Arien ik zit in een rolstoel!

Toevoeging op 20/12/2022 15:57:04:

Maar dat maakt niet uit en dat kun je ook niet weten


Toevoeging op 20/12/2022 16:05:13:

Ik snap hem gewoonweg niet!

Toevoeging op 20/12/2022 16:22:13:

Als ik op F5 duw dan is het driehoekje even zwart grjjsd daarna uit. Dat is ook een gedeekte van het probleem?
 
- Ariën  -
Beheerder

- Ariën -

20/12/2022 16:24:28
Anchor link
Ik ken je niet persoonlijk, en het is ook lastig voor ons om te zien waar het topic succesvol eindigt. Je vertelt dat je in een rolstoel zit, hoewel we niet weten onder welke omstandigheid, en of het relevant is.

Maar om te beginnen vereist programmeren toch echt ook het belangrijke aspect logisch nadenken. Iedereen komt er wel, je moet steeds meer de logica inzien in wat je wilt, wat je doet en wat er vervolgens gebeurt. Bij de een wordt de leercurve snel opgepakt, en bij de ander duurt het nu eenmaal wat langer.

Ik heb het idee dat je momenteel op het punt zit dat je niet echt door hebt hoe HTML precies werkt, en wat je script precies doet. Ik zie je op het laatste punt eindigen met de vraag: "Wat doet het pad?" Daarin hoor je in jouw situatie de locatie van je MP3-bestand aan te geven tussen die dubbele quotes, en niet een loze tekst met 'Toon player hier!' Die tekst staat er enkel om duidelijk te maken wat daar moet gebeuren. Als je het logisch op een rijtje zou zetten dan had je gezien dat je op die plek de HTML-code van je player zou tonen, en niet het pad. En als je HTML goed begreep, dan had je kunnen zien dat die tekst er niet tussen hoorde. Ook zie ik niet dat je gebruik lijkt te maken van de documentatie op php.net omdat je file_exists() gewoon zo maar ergens neer plakt, zonder te weten op welke manier je dat moet doen.

Misschien is dit script wat je bouwt wel te hoog gegrepen. Ik weet niet waar en hoe je begonnen bent met het leren van PHP. Maar ik ben er haast zeker van dat het niet als een goede start begonnen is.

Ik raad je aan om dit script in de ijskast te stoppen. En opnieuw te beginnen met PHP, en losse proefopdrachtjes te maken. Probeer deze te combineren met eerder aangeleerde kennis uit de vorige hoofdstukken. Ook is het handig om commentaarblokken te gebruiken zodat je later zelf kan zien wat er gebeurt in je script. En gebruik ook vooral de www.php.net handleiding en sla deze op in je bookmarks. En neem vooral de tijd. PHP leer je echt niet in een paar dagen!

Als je lang genoeg oefent, dan kom je er zeker!

Dus stop liever met huidige script, en begin bij het begin:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo 'Hallo wereld! Dit is mijn eerste script';
?>


Als je na speuren er nog niet uitkomt, dan kan je altijd op PHPhulp terecht voor vragen.
Gewijzigd op 20/12/2022 16:26:55 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

20/12/2022 16:34:24
Anchor link
Bij inspecteren krijg ik dit te zien:

https://ibb.co/9rVJ5XL
 
- Ariën  -
Beheerder

- Ariën -

20/12/2022 16:40:52
Anchor link
Ik ga hier echt een lijn trekken, want ik heb niet voor niks 5 minuten zitten schrijven.
Mijn advies om dit in de ijskast te stoppen staat nu eenmaal. En om deze reden sluit ik dit topic.
Ik hoop dat je inziet dat je niet op deze voet verder kan werken aan je script.

Veel succes verder, en mocht je nog eventuele vragen hebben met betrekking tot het leren van PHP, dan zien we die wel verschijnen.
 

Pagina: « vorige 1 2 3 4

 

Dit topic is gesloten.



Overzicht

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.