PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Youtube einbinden (http://www.selfphp.de/forum/showthread.php?t=24453)

sertunc 27.10.2011 11:04:01

Youtube einbinden
 
Ich möchte jetzt eine neue Seite programmieren, undzwar ich möchte den Benutzern meiner Community die möglichkeit geben Youtube Videos selber auf einer bestimmten Seite einzubetten.

Die Benutzer sollten im Prinzip nur den Link von Youtube im Browser kopieren und im Textfeld einfügen. Beim Klicken des Speichern-Buttons sollte das Video angezeigt werden.


Ich weiss, dass ich mit

PHP-Code:

parse_url();
strpos();
substr(); 

arbeiten muss.

Meine Frage: Können Sie mir denn ein Tutorial vorschlagen "Usern die möglichkeit geben Youtube Videos einzubetten", das sehr hilfreich ist und ausführlich erklärt ist ? (gegoogelt habe ich schon)

sertunc 27.10.2011 12:35:27

AW: Youtube einbinden
 
Um Missverständnisse auszuschließen habe ich einfachen Layout erstellt:

http://i44.tinypic.com/i6jpj5.jpg

sertunc 28.10.2011 11:28:11

AW: Youtube einbinden
 
So jetzt habe ich durch eigene Mittel, google und nach ein paar Zeilen copy-paste Vorgang, das Thema "Youtube Videos einbinden" programmiert (Quelltext unten), leider habe ich noch ein paar Probleme. Könnt ihr mir da helfen ?

Problembeschreibung:

Wenn ich im Browser videoenter.php aufrufe, wird das Formularfeld automatisch gefüllt also es wird in der Datenbank die Datensätze mit "leeren" Informationen gespeichert und es erscheint im Browser die Meldung "Video erfolgreich eingetragen" soll ja auch aber die Datensätze sollen dann gespeichert werden wenn ich submit klicke, ich habe es programmiert "wenn submit dann eintragen" hat es aber auch nicht geklappt.
videos.php funktioniert soweit, wenn ich ein Video anklicke dann wird es videosshow.php weitergeleitet aber das Video wird nicht angezeigt Fehlermeldung:mysql_fetch_object(): supplied argument is not a valid MySQL result resource




Datenbank: Tabelle videos
`videoid` int(10) unsigned NOT NULL auto_increment, Primary key
`link` varchar(150) NOT NULL,
`titel` varchar(50) NOT NULL,
`beschreibung` text NOT NULL,
`von` varchar(150) NOT NULL,
`von2` int(2) unsigned NOT NULL,
`datum` int(11) unsigned NOT NULL,
`link2` varchar(150) NOT NULL,




videoenter.php:

PHP-Code:

<?php
include ("connect.php");

error_reporting(-1);
ini_set('display_errors'TRUE);

echo 
"<center><b><u>Videos eintragen:</u></b><br><br>
<form action=\"videoenter.php\" method=\"post\">
<table width=\"600\" style=\"font-family:Helvetica;font-size:12px;\"><tr><td><b>Titel:</b></td><td><input type=\"text\" name=\"video\" maxlength=\"50\"></td></tr><tr>
<td><b>Link: </b><sub>(Mit http:// und www)</td><td><input type=\"text\" name=\"link\"></td></tr>
<tr><td><b>Beschreibung:</td><td><textarea style=\"font-family:Helvetica;font-size:12px;\" name=\"beschreibung\" cols=\"70\" rows=\"8\"
wrap=\"physical\"></textarea></td></tr></table>
<input type=\"submit\" value=\"Eintragen\">
</form></center>"
;


$titel $_POST['titel'];
$beschreibung $_POST['beschreibung'];
$link2 $_POST['link'];
$link substr("$link2"3111);
$datum time();



if(
strpos($link2"de.youtube.com") !== false)
{
$link substr("$link2"3011);
}
else if(
strpos($link2"www.youtube.com") !== false)
{
$link substr("$link2"3111);
}
else if(
strpos($link2"youtube.com") !== false)
{
$link substr("$link2"2711);
}
$datum time();
$userid $_SESSION['userid'];

$eintrag "INSERT INTO videos (titel, link, link2, von, von2, datum, beschreibung) VALUES ('$titel', '$link', '$link2', '$email', '$userid', '$datum', '$beschreibung')";
$eintragen mysql_query($eintrag);
if(
$eintragen == true)
   {
   echo 
"<center><b>Video erfolgreich eingetragen</b><br><a href=\"videos.php\">Videos ansehen</a></center>";
   }
else
   {
   echo 
"<center><b>Fehler beim eingetragen</b></center>";
   }

?>



videos.php:

PHP-Code:

<?php
include_once("connect.php");
$videopage $_GET["videopage"];
if(!isset(
$videopage))
   {
   
$videopage 1;
   }

$eintraege_pro_seite 10;
$start $videopage $eintraege_pro_seite $eintraege_pro_seite;

$abfrage "SELECT * FROM videos ORDER BY videoid DESC LIMIT $start, $eintraege_pro_seite";
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
    {
    
$titel $row->titel;
    
$datum date("d.m.Y H:i"$row->datum);
    
$beschreibung $row->beschreibung;
    
$link $row->link;
    
$videoid $row->id;
    if (
$beschreibung == "")
    {
    
$beschreibung "Keine Beschreibung vorhanden";
    }
echo 
"<table Border=\"0\" Width=\"600px\" style=\"font-family:Helvetica;font-size:12px;\">
<tr><td width=\"200\"><b>$titel</b></td></tr></table>
<table Border=\"0\" Width=\"600px\" style=\"font-family:Helvetica;font-size:12px;\">
<tr><td width=\"135\"><a href=\"videoshow.php?videoid=$videoid\"><img src=\"http://i.ytimg.com/vi/$link/default.jpg\"></a></td><td valign=\"top\">$beschreibung</td></tr><tr><td>$datum</td></tr>
</table><br>
  "
;

   }
$result mysql_query("SELECT videoid FROM videos");
$menge mysql_num_rows($result);

$wieviel_seiten $menge $eintraege_pro_seite;

echo 
"<div align=\"center\">";
echo 
"<b>Seite:</b> ";

for(
$a=0$a $wieviel_seiten$a++)
   {
   
$b $a 1;
   if(
$videopage == $b)
      {
      echo 
"  <b>$b</b> ";
      }
   else
      {
      echo 
"  <a href=\"?videopage=$b\">$b</a> ";
      }


   }
echo 
"</div>";
?>


videoshow.php:

PHP-Code:

<?php
include_once("connect.php");
$videoid $_GET["videoid"];
   
$abfrage "SELECT * FROM videos WHERE id = '$videoid' LIMIT 1";
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
{
$beschreibung $row->beschreibung;
$link $row->link;
if (
$beschreibung == "")
    {
    
$beschreibung "Keine Beschreibung vorhanden";
    }
echo 
"<center><b>$row->titel</b><br><object width=\"425\" height=\"355\"><param name=\"movie\" value=\"http://www.youtube.com/v/$link&hl=de\"></param>
<param name=\"wmode\" value=\"transparent\"></param>
<embed src=\"http://www.youtube.com/v/$link&hl=de\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"425\" height=\"355\"></embed></object><br><b>Von $row->von</b></center><br>
"
;
}
?>


vt1816 28.10.2011 13:01:09

AW: Youtube einbinden
 
$_POST['submit'] abfragen!

sertunc 28.10.2011 14:14:54

AW: Youtube einbinden
 
Zitat:

Zitat von vt1816 (Beitrag 142332)
$_POST['submit'] abfragen!


PHP-Code:

<?php
include ("connect.php");

error_reporting(-1);
ini_set('display_errors'TRUE);

echo 
"<center><b><u>Videos eintragen:</u></b><br><br>
<form action=\"videoenter.php\" method=\"post\">
<table width=\"600\" style=\"font-family:Helvetica;font-size:12px;\"><tr><td><b>Titel:</b></td><td><input type=\"text\" name=\"video\" maxlength=\"50\"></td></tr><tr>
<td><b>Link: </b><sub>(Mit http:// und www)</td><td><input type=\"text\" name=\"link\"></td></tr>
<tr><td><b>Beschreibung:</td><td><textarea style=\"font-family:Helvetica;font-size:12px;\" name=\"beschreibung\" cols=\"70\" rows=\"8\"
wrap=\"physical\"></textarea></td></tr></table>
<input type=\"submit\" value=\"Eintragen\">
</form></center>"
;


if(isset(
$_POST['submit']))

{
$name $_POST['video'];
$beschreibung $_POST['beschreibung'];
$link2 $_POST['link'];

if(
strpos($link2"de.youtube.com") !== false)
{
$link substr("$link2"3011);
}
else if(
strpos($link2"www.youtube.com") !== false)
{
$link substr("$link2"3111);
}
else if(
strpos($link2"youtube.com") !== false)
{
$link substr("$link2"2711);
}
$datum time();
$userid $_SESSION['id'];

$eintrag "INSERT INTO videos (titel, link, link2, von, von2, datum, beschreibung) VALUES ('$name', '$link', '$link2', '$email', '$userid', '$datum', '$beschreibung')";
$eintragen mysql_query($eintrag);
if(
$eintragen == true)
   {
   echo 
"<center><b>Video erfolgreich eingetragen</b><br><a href=\"videos.php\">Videos ansehen</a></center>";
   }
else
   {
   echo 
"<center><b>Fehler beim eingetragen</b></center>";
   }
}
?>

wie oben auch erwähnt hatte ich es mit if isset submit versucht aber ...

jetzt wird es gar nichts gespeichert

vt1816 28.10.2011 14:40:00

AW: Youtube einbinden
 
Zitat:

Zitat von sertunc (Beitrag 142335)
PHP-Code:

<?php
...
if(
$eintragen == true)
   {
   echo 
"<center><b>Fehler beim eingetragen</b></center>";
   }
else
   {
   echo 
"<center><b>Video erfolgreich eingetragen</b><br><a href=\"videos.php\">Videos ansehen</a></center>";
   }
}
?>


Besser:
PHP-Code:

<?php
...
if(!
$eintragen)
   {
   echo 
"<center><b>Video erfolgreich eingetragen</b><br><a href=\"videos.php\">Videos ansehen</a></center>";
   }
else
   {
   echo 
"<center><b>Fehler beim eingetragen</b></center>";
   }


sertunc 28.10.2011 14:48:20

AW: Youtube einbinden
 
Zitat:

Zitat von vt1816 (Beitrag 142336)
Besser:
PHP-Code:

<?php
...
if(!
$eintragen)
   {
   echo 
"<center><b>Video erfolgreich eingetragen</b><br><a href=\"videos.php\">Videos ansehen</a></center>";
   }
else
   {
   echo 
"<center><b>Fehler beim eingetragen</b></center>";
   }


funktioniert auch nicht :(

PHP-Code:

<?php
...

$eintrag "INSERT INTO videos (titel, link, link2, von, von2, datum, beschreibung) VALUES ('$titel', '$link', '$link2', '$email', '$userid', '$datum', '$beschreibung')";
$eintragen mysql_query($eintrag);
if(!
$eintragen)
   {
   echo 
"<center><b>Video erfolgreich eingetragen</b><br><a href=\"videos.php\">Videos ansehen</a></center>";
   }
else
   {
   echo 
"<center><b>Fehler beim eingetragen</b></center>";
   }
}
?>


vt1816 28.10.2011 15:07:19

AW: Youtube einbinden
 
Zitat:

Zitat von sertunc (Beitrag 142337)
funktioniert auch nicht :(

Was funktioniert nicht?
Welche Ausschrift erhältst Du?
Welche Fehlermeldung erhältst Du?

sertunc 28.10.2011 15:19:18

AW: Youtube einbinden
 
Zitat:

Zitat von vt1816 (Beitrag 142338)
Was funktioniert nicht?
Welche Ausschrift erhältst Du?
Welche Fehlermeldung erhältst Du?

Die Daten werden nicht in die Datenbank gespeichert.
Wenn ich "eintragen" (submit) klicke, dann werden die Infos, link etc aus dem Formularfeldern gelöscht und die Seite wird neugeladen.

Ich erhalte keine Fehlermeldung.

vt1816 28.10.2011 15:33:11

AW: Youtube einbinden
 
Kleine Ursache - große Wirkung:
Zitat:

Zitat von sertunc (Beitrag 142339)
PHP-Code:

echo "<center><b><u>Videos eintragen:</u></b><br><br> 
<form action=\"videoenter.php\" method=\"post\"> 
<table width=\"600\" style=\"font-family:Helvetica;font-size:12px;\"><tr><td><b>Titel:</b></td><td><input type=\"text\" name=\"video\" maxlength=\"50\"></td></tr><tr> 
<td><b>Link: </b><sub>(Mit http:// und www)</td><td><input type=\"text\" name=\"link\"></td></tr> 
<tr><td><b>Beschreibung:</td><td><textarea style=\"font-family:Helvetica;font-size:12px;\" name=\"beschreibung\" cols=\"70\" rows=\"8\" 
wrap=\"physical\"></textarea></td></tr></table> 
<input type=\"submit\" value=\"Eintragen\"> 
</form></center>"



Gibt dem SUBMIT einen Namen:
PHP-Code:

<input type="submit\" name=\"submit\" value=\"Eintragen\"> 

dann sollte es auch wieder funktionieren. (Rest unverändert.)


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:25:08 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.