Rattenfritzcomputer: YouTube-Videos einbinden!

Ich habe so ein Unterhaltungssystem entwickelt, wo man Text, Links, Grafiken und YouTube-Clips einfügen kann. Jetzt will ich verhindern, dass andere Flash-Dateien eingebunden werden. Deshalb muss .youtube.com/watch?v= vorkommen. Das muss aber nur sein, wenn man im Text [YouTube] verwendet hat. Denn sonst braucht ja bei YouTube-Video-Textinputfeld überhaupt nichts stehen, wenn man kein Video in den Text eingebunden hat. Das würde dann ca. so aussehen: [code lang=php]if(substr_count($Text,"[YouTube]") && ??????) {die("Fehlertext");}[/code. Irgendwie habe ich aber heute überhaupt keine Idee, was ich statt den Fragezeichen schreiben soll. Ich weiß nicht, warum ich in letzter Zeit keine Ideen habe. Wisst ihr, was man da schreiben könnte?

lgrfc

  1. Hallo シ

    Jetzt will ich verhindern, dass andere Flash-Dateien eingebunden werden. Deshalb muss .youtube.com/watch?v= vorkommen. Das muss aber nur sein, wenn man im Text [YouTube] verwendet hat. Denn sonst braucht ja bei YouTube-Video-Textinputfeld überhaupt nichts stehen, wenn man kein Video in den Text eingebunden hat. Das würde dann ca. so aussehen: if(substr_count($Text,"[YouTube]") && ??????) {die("Fehlertext");}. Wisst ihr, was man da schreiben könnte?

    Warum nicht einfach die gleiche Technik verwenden?

    if(substr_count($Text,"[YouTube]") || substr_count($Text, '.youtube.com/watch?v='){  
      // Erfolg  
    } else {  
      // Fehler (hier aber bitte kein die() sondern eine für den Benutzer akzeptable Fehlerbehandlung!)  
    }
    

    —Gabriel

    1. Hallo シ

      Jetzt will ich verhindern, dass andere Flash-Dateien eingebunden werden. Deshalb muss .youtube.com/watch?v= vorkommen. Das muss aber nur sein, wenn man im Text [YouTube] verwendet hat. Denn sonst braucht ja bei YouTube-Video-Textinputfeld überhaupt nichts stehen, wenn man kein Video in den Text eingebunden hat. Das würde dann ca. so aussehen: if(substr_count($Text,"[YouTube]") && ??????) {die("Fehlertext");}. Wisst ihr, was man da schreiben könnte?

      Warum nicht einfach die gleiche Technik verwenden?

      if(substr_count($Text,"[YouTube]") || substr_count($Text, '.youtube.com/watch?v='){

      // Erfolg
      } else {
        // Fehler (hier aber bitte kein die() sondern eine für den Benutzer akzeptable Fehlerbehandlung!)
      }

      
      >   
      > —Gabriel[﹫](mailto:willi292@web.de)  
        
      Was würdest du statt die() nehmen?  
        
      lg  
      rfc
      
      1. hi シ

        Jetzt will ich verhindern, dass andere Flash-Dateien eingebunden werden. Deshalb muss .youtube.com/watch?v= vorkommen. Das muss aber nur sein, wenn man im Text [YouTube] verwendet hat. Denn sonst braucht ja bei YouTube-Video-Textinputfeld überhaupt nichts stehen, wenn man kein Video in den Text eingebunden hat. Das würde dann ca. so aussehen: if(substr_count($Text,"[YouTube]") && ??????) {die("Fehlertext");}. Wisst ihr, was man da schreiben könnte?

        Warum nicht einfach die gleiche Technik verwenden?

        if(substr_count($Text,"[YouTube]") || substr_count($Text, '.youtube.com/watch?v='){

        // Erfolg
        } else {
          // Fehler (hier aber bitte kein die() sondern eine für den Benutzer akzeptable Fehlerbehandlung!)
        }

        
        > >   
        > > —Gabriel[﹫](mailto:willi292@web.de)  
        >   
        > Was würdest du statt die() nehmen?  
        
        Es gibt dafür keine äquivalente Funktion.  
        Das Error-Handling muss im Voraus geplant werden, jetzt kannst du höchstens noch folgendes machen:  
          
        (Achtung, Pseudocode!)  
          
        ~~~php
        if(substr_count($Text,"[YouTube]") || substr_count($Text, '.youtube.com/watch?v='){  
           // - Datenbankeintragung durchführen  
        } else {  
          // - Zurück zur letzten Seite, in der textarea steht $Text, es wird eine Fehlermeldung angezeigt  
          // Du kannst z.B. $error['wrongSrc'] = 1 setzen, und dann bei deiner Ausgabe prüfen, ob $error gesetzt ist, und eine dementsprechende Fehlermeldung ausgeben.  
        }
        

        Wie das im einzelnen aussieht, hängt völlig von deinem gesamten Script ab.

        —Gabriel

        1. Wie das im einzelnen aussieht, hängt völlig von deinem gesamten Script ab.

          hi, fals du das Script sehen willst:

          
          <?php
          #Feldernamen in PHP definieren
          $Tube=htmlentities(trim($_POST["tube"]));
          $Text=htmlentities(trim($_POST["text"]));
          $Link=htmlentities(trim($_POST["link"]));
          $Bild=htmlentities(trim($_POST["bild"]));
          $Name=htmlentities(trim($_POST["name"]));
          
          #Nachsehen, ob alle Pflichfelder ausgefüllt sind
          if (($Name=="")) die("Es ist folgender Fehler aufgetreten: Du bist zwar eingelogt, doch deine Benutzerdaten sind nicht verf&uuml;gbar.");
          if (($Text=="")) die("Du hast keine Zeichen ins Chatmeldungsfeld eingegeben.");
          
          #Zeichenverbote
          if (substr_count($Text,"<") || substr_count($Text,">") || substr_count($Text,"&lt;") || substr_count($Text,"&#60;") || substr_count($Text,"&gt;") || substr_count($Text,"&#62;")) die("< und > sind verboten.");
          
          #Symilies definieren
          $Text=str_replace(":lachen:","<img src='sy_lachen.png'>",$Text);
          $Text=str_replace(":->","<img src='sy_lachen.png'>",$Text);
          $Text=str_replace(":>","<img src='sy_lachen.png'>",$Text);
          $Text=str_replace(":D","<img src='sy_lachen.png'>",$Text);
          $Text=str_replace(":-D","<img src='sy_lachen.png'>",$Text);
          $Text=str_replace("=D","<img src='sy_lachen.png'>",$Text);
          $Text=str_replace("=-D","<img src='sy_lachen.png'>",$Text);
          $Text=str_replace("=>","<img src='sy_lachen.png'>",$Text);
          $Text=str_replace("=->","<img src='sy_lachen.png'>",$Text);
          $Text=str_replace(":liebe:","<img src='sy_love.png'>",$Text);
          $Text=str_replace(":love:","<img src='sy_love.png'>",$Text);
          $Text=str_replace(":verkallt:","<img src='sy_love.png'>",$Text);
          $Text=str_replace(":verliebt:","<img src='sy_love.png'>",$Text);
          $Text=str_replace(":-*","<img scr='sy_love.png'>",$Text);
          $Text=str_replace("=-*","<img scr='sy_love.png'>",$Text);
          $Text=str_replace(":*","<img scr='sy_love.png'>",$Text);
          $Text=str_replace("=-*","<img scr='sy_love.png'>",$Text);
          $Text=str_replace(":-X","<img src='sy_x.png'>",$Text);
          $Text=str_replace("=-X","<img src='sy_x.png'>",$Text);
          $Text=str_replace("=X","<img src='sy_x.png'>",$Text);
          $Text=str_replace(":X","<img src='sy_x.png'>",$Text);
          $Text=str_replace(":x:","<img src='sy_x.png'>",$Text);
          $Text=str_replace("^^","<img src='sy.png'>",$Text);
          $Text=str_replace(":-)","<img src='sy.png'>",$Text);
          $Text=str_replace(":)","<img src='sy.png'>",$Text);
          $Text=str_replace("=-)","<img src='sy.png'>",$Text);
          $Text=str_replace("=)","<img src='sy.png'>",$Text);
          $Text=str_replace(":smilie:","<img src='sy.png'>",$Text);
          $Text=str_replace("-)","<img src='sy_zwink.png'>",$Text);
          $Text=str_replace(")","<img src='sy_zwink.png'>",$Text);
          $Text=str_replace(":zwinker:","<img src='sy_zwink.png'>",$Text);
          $Text=str_replace(":geld:","<img src='sy_geld.png'>",$Text);
          $Text=str_replace(":-$","<img src='sy_geld.png'>",$Text);
          $Text=str_replace(":$","<img src='sy_geld.png'>",$Text);
          $Text=str_replace("=-$","<img src='sy_geld.png'>",$Text);
          $Text=str_replace("=$","<img src='sy_geld.png'>",$Text);
          $Text=str_replace(":$:","<img src='sy_geld.png'>",$Text);
          $Text=str_replace(":euro:","<img scr='sy_geld.png'>",$Text);
          $Text=str_replace(":angst:","<img src='sy_angst.png'>",$Text);
          $Text=str_replace(":-~","<img src='sy_angst.png'>",$Text);
          $Text=str_replace(":~","<img src='sy_angst.png'>",$Text);
          $Text=str_replace("=~","<img src='sy_angst.png'>",$Text);
          $Text=str_replace("=-~","<img src='sy_angst.png'>",$Text);
          $Text=str_replace(":normal:","<img src='sy_normal.png'>",$Text);
          $Text=str_replace(":-|","<img src='sy_normal.png'>",$Text);
          $Text=str_replace(":--","<img src='sy_normal.png'>",$Text);
          $Text=str_replace(":-","<img src='sy_normal.png'>",$Text);
          $Text=str_replace(":|","<img src='sy_normal.png'>",$Text);
          $Text=str_replace("=|","<img src='sy_normal.png'>",$Text);
          $Text=str_replace("=-|","<img src='sy_normal.png'>",$Text);
          $Text=str_replace("=--","<img src='sy_normal.png'>",$Text);
          $Text=str_replace("=-","<img src='sy_normal.png'>",$Text);
          $Text=str_replace(":boese:","<img src='sy_boese.png'>",$Text);
          $Text=str_replace(":bose:","<img src='sy_boese.png'>",$Text);
          $Text=str_replace(":-(","<img src='sy_boese.png'>",$Text);
          $Text=str_replace(":(","<img src='sy_boese.png'>",$Text);
          $Text=str_replace("=(","<img src='sy_boese.png'>",$Text);
          $Text=str_replace("=-(","<img src='sy_boese.png'>",$Text);
          $Text=str_replace(":zufrieden:","<img src='sy_zufrieden.png'>",$Text);
          $Text=str_replace(":-]","<img src='sy_zufrieden.png'>",$Text);
          $Text=str_replace(":]","<img src='sy_zufrieden.png'>",$Text);
          $Text=str_replace("=-]","<img src='sy_zufrieden.png'>",$Text);
          $Text=str_replace("=]","<img src='sy_zufrieden.png'>",$Text);
          $Text=str_replace(":-#","<img src='sy_hase.png'>",$Text);
          $Text=str_replace(":#","<img src='sy_hase.png'>",$Text);
          $Text=str_replace("=#","<img src='sy_hase.png'>",$Text);
          $Text=str_replace("=-#","<img src='sy_hase.png'>",$Text);
          $Text=str_replace(":hase:","<img src='sy_hase.png'>",$Text);
          $Text=str_replace(":-<","<img src='sy_vampier.png'>",$Text);
          $Text=str_replace(":<","<img src='sy_vampier.png'>",$Text);
          $Text=str_replace("=<","<img src='sy_vampier.png'>",$Text);
          $Text=str_replace("=-<","<img src='sy_vampier.png'>",$Text);
          $Text=str_replace(":vampier:","<img src='sy_vampier.png'>",$Text);
          $Text=str_replace(":cool:","<img src='sy_cool.png'>",$Text);
          $Text=str_replace("|-)","<img src='sy_wein.png'>",$Text);
          $Text=str_replace("|)","<img src='sy_wein.png'>",$Text);
          $Text=str_replace("-)","<img src='sy_wein.png'>",$Text);
          $Text=str_replace("--)","<img src='sy_wein.png'>",$Text);
          $Text=str_replace(":wein:","<img src='sy_wein.png'>",$Text);
          $Text=str_replace(":heul:","<img src='sy_wein.png'>",$Text);
          $Text=str_replace(":cool:","<img src='sy_cool.png'>",$Text);
          
          #Youtubeclips anzeigen
          if(substr_count($Text,"[youtube]")  && ($Tube == "")) die("Du hast im Text [youtube] eingegeben, aber unten keine Videoadresse eingegeben.");
          if(substr_count($Text,"[YouTube]")  && ($Tube == "")) die("Du hast im Text [YouTube] eingegeben, aber unten keine Videoadresse eingegeben.");
          if(substr_count($Text,"[YOUTUBE]")  && ($Tube == "")) die("Du hast im Text [YOUTUBE] eingegeben, aber unten keine Videoadresse eingegeben.");
          if(substr_count($Text,"[Youtube]")  && ($Tube == "")) die("Du hast im Text [Youtube] eingegeben, aber unten keine Videoadresse eingegeben.");
          if(substr_count($Text,"[youtube]")  && ($Tube == "")) die("Du hast im Text [youtube] eingegeben, aber unten keine Videoadresse eingegeben.");
          if(substr_count($Text,"[You Tube]") && ($Tube == "")) die("Du hast im Text [You Tube] eingegeben, aber unten keine Videoadresse eingegeben.");
          if(substr_count($Text,"[YOU TUBE]") && ($Tube == "")) die("Du hast im Text [YOU TUBE] eingegeben, aber unten keine Videoadresse eingegeben.");
          if(substr_count($Text,"[You tube]") && ($Tube == "")) die("Du hast im Text [You tube] eingegeben, aber unten keine Videoadresse eingegeben."); else
          #Hier werde ich dann deinen Code einfügen
          $Tube=str_replace("http://http://","http://",$Tube);
          $Flash="<object width='425' height='373'><param name='movie' value='".$Tube."&color1=0x006699&color2=0x54abd6&border=1&hl=de'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/".$Tube."&color1=0x006699&color2=0x54abd6&border=1&hl=de' type='application/x-shockwave-flash' wmode='transparent' width='425' height='373'></embed></object>";
          $Text=str_replace("[youtube]",$Flash,$Text);
          $Text=str_replace("[YouTube]",$Flash,$Text);
          $Text=str_replace("[YOUTUBE]",$Flash,$Text);
          $Text=str_replace("[you tube]",$Flash,$Text);
          $Text=str_replace("[You Tube]",$Flash,$Text);
          $Text=str_replace("[YOU TUBE]",$Flash,$Text);
          
          #Bilder anzeigen
          if(substr_count($Text,"[bild]") && ($Bild == "")) die("Du hast im Text [bild] eingegeben, aber unten keine Bildadresse eingegeben.");
          if(substr_count($Text,"[Bild]") && ($Bild == "")) die("Du hast im Text [Bild] eingegeben, aber unten keine Bildadresse eingegeben.");
          if(substr_count($Text,"[BILD]") && ($Bild == "")) die("Du hast im Text [BILD] eingegeben, aber unten keine Bildadresse eingegeben.");
          $Bild=str_replace("http://http://","http://",$Bild);
          $Bildhtml="<img src='".$Bild."' alt='".$Bild."'>";
          $Text=str_replace("[bild]",$Bildhtml,$Text);
          $Text=str_replace("[Bild]",$Bildhtml,$Text);
          $Text=str_replace("[BILD]",$Bildhtml,$Text);
          
          #Links anzeigen
          if(substr_count($Text,"[link]") && ($Link == "")) die("Du hast im Text [link] eingegeben, aber unten keine Bildadresse eingegeben.");
          if(substr_count($Text,"[Link]") && ($Link == "")) die("Du hast im Text [Link] eingegeben, aber unten keine Bildadresse eingegeben.");
          if(substr_count($Text,"[LINK]") && ($Link == "")) die("Du hast im Text [LINK] eingegeben, aber unten keine Bildadresse eingegeben.");
          $Link=str_replace("http://http://","http://",$Link);
          $Linkhtml="<a href='".$Link."' alt='".$Link."'>".$Link."</a>";
          $Text=str_replace("[link]",$Linkhtml,$Text);
          $Text=str_replace("[Link]",$Linkhtml,$Text);
          $Text=str_replace("[LINK]",$Linkhtml,$Text);
          
          #Abstände übersezten
          $Text=nl2br($Text);
          
          #Zahl aktualisieren
          $nummer_lesen=fopen("funroom_zahl.txt", "r");
          $zahl=fgets($nummer_lesen, 10);
          $zahl=trim($zahl);
          $zahl++;
          $nummer_schreiben=fopen("funroom_zahl.txt", "w");
          fwrite($nummer_schreiben, $zahl);
          
          #Chatmeldung 'include'dieren
          $cont=file_get_contents("funroomlesen.php");
          if (($cont=="") || (strlen($cont)<32)) die("Fehler, Datenbank konnte nicht geladen werden.");
          if ($fh=fopen("funroomlesen.php","w")) ;else die("Fehler, Datenbank konnte nicht geschrieben werden.");
          fputs($fh,str_replace("/* new */","/* new */ include('".$zahl.".php');",$cont));
          fclose($fh);
          
          #Chatmeldungsdatei erstellen
          $dateihandle=fopen($zahl.".php", "a");
          fputs($dateihandle,"<div class='nick'>Chatmeldung wurde im Raum Funroom am ".date("d.m.y.H:i.s")." von ".$Name." verfasst.</div><div class='meldung'>".$Text."</div>");
          fclose($dateihandle);
          
          #Zahl aktualisieren
          $nummer_lesen=fopen("funroom_loesch.txt", "r");
          $zahl=fgets($nummer_lesen, 10);
          $zahl=trim($zahl);
          $zahl++;
          $nummer_schreiben=fopen("funroom_loesch.txt", "w");
          fwrite($nummer_schreiben, $zahl);
          
          #'include' der Chatmeldung entfernen
          $cont=file_get_contents("funroomlesen.php");
          if (($cont=="") || (strlen($cont)<32)) die("Fehler, Datenbank konnte nicht geladen werden.");
          if ($fh=fopen("funroomlesen.php","w")); else die("Fehler, Datenbank konnte nicht geschrieben werden.");
          fputs($fh,str_replace("include('".$zahl.".php');","/**/",$cont));
          fclose($fh);
          
          #Datei löschen
          unlink($zahl.".php");
          die("<meta http-equiv='refresh' content='0; URL=index1.php?menu2=on'>");
          ?>
          
          

          Fals es da irgendwelche Fehler gibt, dann sag es mir bitte, denn ich bin Anfänger und bin am Anfang vor allem beim richtigen Klammern setzen bei if ein bisschen überfordert. Aber ich glaube, dass man sich einfach nur gewöhnen muss.

          lgrfc

          1. hi,
            fals du das Script sehen willst:

            Ich setze ein Cookie mit der Fehlermeldung und mache eine META-Umleitung zur Eintragsseite. Dort wird dann das Cookie angezeigt.

      2. Hello,

        Was würdest du statt die() nehmen?

        Du kannst die() benutzen, aber es sollte als Argument eine vollständige und valide HTML-Seite enthalten.

        Und dann wäre es doch sinnvoll, dieser auch noch ein paar Informationen über den Fehler bzw. die Möglichkeiten für den User und einen Link zurück zum Projekt mitzugeben.

        Ein harzliches Glückauf

        Tom vom Berg

        http://bergpost.annerschbarrich.de
        .

        --
        Nur selber lernen macht schlau