Embed video Youtube in php/mysql [RISOLTO]
Ciao.
Premetto che sono abbastanza imbranato e ho bisogno di suggerimenti precisi :dormo:
Sto creando il backoffice di un sito e sto scrivendo il codice in php per la pubblicazione di news da parte degli admin utilizzando un database mysql.
Il mio problema è il seguente: vorrei aggiungere dei video presi da youtube nelle varie news. Per far ciò, ho creato una maschera di inserimento dei tag video (che collega il tutto alla news relativa) con il seguente codice:
Con questa maschera, vado ad incollare l'indirizzo del video che voglio visualizzare nelle news nel campo "videourl" e lo script inserisce nel database la url (oltre al titolo e alla didascalia) e fin qua tutto ok.
Quando però vado a richiamare il video nella pagina di visualizzazione della news (con una query mysql), il risultato che ottengo è un quadrato bianco. Questo il codice che ho usato:
Dove sto sbagliando? Ho semplicemente passato la variabile dell'indirizzo all'oggetto, come mai non funziona? Se sposto l'embed al di fuori del php (togliendo i backslashes e inserendo l'indirizzo al posto della variabile) funziona, ma a me serve un embed dinamico.
Ho cercato a giro in rete e ho trovato tutorial interminabili su player API e custom player, ma a me non serve che il video abbia comandi e menu e neppure che sia relativo ad un canale...
Qualcuno sa aiutarmi? Magari l'errore è banale, ma non so più dove sbattere la testa... Grazie in anticipo
Ciao.
Premetto che sono abbastanza imbranato e ho bisogno di suggerimenti precisi :dormo:
Sto creando il backoffice di un sito e sto scrivendo il codice in php per la pubblicazione di news da parte degli admin utilizzando un database mysql.
Il mio problema è il seguente: vorrei aggiungere dei video presi da youtube nelle varie news. Per far ciò, ho creato una maschera di inserimento dei tag video (che collega il tutto alla news relativa) con il seguente codice:
(L'insert del valore $videourl appare staccato...non capisco perchè, ma nel codice è scritto bene)<form method="post" action="addextranewsvideo.php">
<input type="hidden" name="ID_news" value="<? print"$ID"; ?>" />
titolo: <input type="text" name="videotitolo" value="<?php print"$videotitolo"; ?>" /><br />
url: <input type="text" name="videourl" value="<?php print"$videourl"; ?>" /><br />
didascalia: <input type="text" name="videodidascalia" value="<?php print"$videodidascalia"; ?>" class="campomediogrande" />
<br /><br />
<?php
if ($InserisciVideo == 'Inserisci')
{
$videodidascalia = addslashes ("$videodidascalia");
$queryinsvideo = "insert into live2_news_video(ID_news,nome,indirizzo,didascalia) values('".$ID_news."','".$videotitolo."','".$videourl."','".$videodidascalia."')";
$Result = mysql_query($queryinsvideo) or die ("Errore nella query:".mysql_error());
print "<script language=\"JavaScript\">
<!--
document.location.href = \"vistanews.php?ID=$ID_news\"
//-->
</script>";
}
?>
<input type="submit" name="InserisciVideo" value="Inserisci" />
<input type="reset" value="Cancella" class="submit" />
</form>
Con questa maschera, vado ad incollare l'indirizzo del video che voglio visualizzare nelle news nel campo "videourl" e lo script inserisce nel database la url (oltre al titolo e alla didascalia) e fin qua tutto ok.
Quando però vado a richiamare il video nella pagina di visualizzazione della news (con una query mysql), il risultato che ottengo è un quadrato bianco. Questo il codice che ho usato:
Il risultato è una tabella in cui nel primo td c'è il rettangolino vuoto del video e nei successivi, le informazioni del record relativo del database.<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="tdcentratotitolo">video</td>
<td class="tdcentratotitolo">nome video</td>
<td class="tdcentratotitolo">didascalia</td>
<td class="tdcentratotitolo">elimina</td>
</tr>
<?php
//*****************************ELIMINAZIONE VIDEO
if ($EliminaVideo == 'Elimina') {
$querycancvideo = "delete from live2_news_video where live2_news_video.ID='$ID_video_eliminato'";
$Resultcanc = mysql_query($querycancvideo) or die ("Errore nella query:".mysql_error());
print "<h3>video eliminato con successo</h3><br />";
}
//*****************************VISTA VIDEO
$queryvideo = mysql_query ("select * from live2_news_video where live2_news_video.ID_news = $ID");
while ($arrayvideo = mysql_fetch_array ($queryvideo))
{
$arrayvideo[didascalia] = stripslashes ("$arrayvideo[didascalia]");
$linkvideo = '$arrayvideo[indirizzo]';
print "
<tr>
<td>
<object width=\"220\" height=\"165\"><param name=\"movie\" value=\"$linkvideo\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"$linkvideo\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"220\" height=\"165\"></embed></object>
</td>
<td>$arrayvideo[nome]</td>
<td>$arrayvideo[didascalia]</td>
<td>
<form enctype=\"text\" method=\"post\" action=\"addextranewsvideo.php\">
<input type=\"hidden\" name=\"ID_video_eliminato\" value=\"$arrayvideo[ID]\" />
<input type=\"hidden\" name=\"video_da_eliminare\" value=\"$arrayvideo[nome]\" />
<input type=\"submit\" name=\"EliminaVideo\" value=\"Elimina\" /></form>
</td>
</tr>
";
}
?>
</table>
Dove sto sbagliando? Ho semplicemente passato la variabile dell'indirizzo all'oggetto, come mai non funziona? Se sposto l'embed al di fuori del php (togliendo i backslashes e inserendo l'indirizzo al posto della variabile) funziona, ma a me serve un embed dinamico.
Ho cercato a giro in rete e ho trovato tutorial interminabili su player API e custom player, ma a me non serve che il video abbia comandi e menu e neppure che sia relativo ad un canale...
Qualcuno sa aiutarmi? Magari l'errore è banale, ma non so più dove sbattere la testa... Grazie in anticipo
Ultima modifica: