• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Durch Formular Link zusammen fügen

Ostwestfale

Neues Mitglied
Hallo,

ich habe folgendes Problem, ich möchte eine Auswahl erstellen welche am Ende einen Link aus mehreren Teilen zusammenfügt:

HTML:
<body>
<FORM>
<SELECT NAME="liste1" SIZE="1">
<OPTION SELECTED VALUE="">Bitte wählen Sie
<OPTION VALUE="http://www.youtube.com/v/">youtube.com/
</SELECT>
<input type="text" name="" value="" size="20" / >
<SELECT NAME="" SIZE="1">
<OPTION VALUE=";loop=1">Wiederholen
</SELECT>
 
<INPUT TYPE="button" VALUE="Go"
  onClick="if (form.liste1.selectedIndex != 0)
      location = form.liste1.options[form.liste1.selectedIndex].value;
    else
      alert('Bitte wählen Sie eine Option!')"> 
</FORM>
 
</body>

So. Ich habe als erstes ein Auswahlmenü, dort kann man dann youtube.com/v/ auswählen. als nächstes ein input text feld dort soll man dann die video id z.b: HjOVCwU1u-U eingeben. Danach soll man noch auswählen, ob das Video wiederholt werden soll, also mit ;loop=1. Nach dem bestätigen soll das video in einem iframe unter den menüs angezeigt werden.

Am ende soll dann der Link zb.: so lauten: http://www.youtube.com/v/HjOVCwU1u-U;loop=1

Könnt Ihr mir helfen?

Mfg.

Ostwestfale
 
Zuletzt bearbeitet:
Ich sehe du möchtest JavaScript verwenden. Demnach ist das hier im falschen Forum.

Außerdem finde ich die Select-Auswahl unnötig, schließlich hast du nur youtube.com/v/ und ;loop=1. Da du ersteres brauchst würde ich das einfach weglassen und direkt die ID eingeben lassen. Wiederholen würde ich mit einer Checkbox realisieren.

Ich würde das so aufbauen:
HTML:
<!-- BuildLink.php -->
<html>
  <head>
    <script type="text/javascript">
    <!--
      function BuildLink( ) {
        if( document.getElementById( "vidID" ).value === "" ) { // Eine Trim-Funktion ist in JS nicht implementiert
          document.getElementById( "LinkOutput" ).innerHTML = "Die ID des Videos wurde nicht eingegeben!";
          return false;
        }
        document.getElementById( "LinkOutput" ).innerHTML = "http://www.youtube.com/v/"
          + escape( document.getElementById( "vidID" ).value )
          + ( document.getElementById( "Loop" ).checked ) ? document.getElementById( "Loop" ).value : "";
        return false;
      }
    -->
    </script>
  </head>
  <body>
    <form action="BuildLink.php" method = "get" onsubmit="return BuildLink( );">
      <!-- Eine Rückversicherung, sollte ein Benutzer JavaScript nicht unterstützen -->
      <input type="text" id="vidID" name="vidID" value="" size="20" /><br />
      <input type="checkbox" id="Loop" name="Loop" value=";loop=1" /> Wiederholen<br />
      <input type="submit" value="Link bauen!" />
    </form>
    <div id="LinkOutput">
      <!-- Hier kommt dann dein Link rein. Was du damit machst bleibt dir überlassen...
        Die PHP-Funktion baue ich gleich mit ein.
      -->
      <?php
        if( isset( $_GET[ "vidID" ] ) ) {
          echo "http://www.youtube.com/v/" . htmlspecialchars( $_GET[ "vidID" ] ) . $_GET[ "Loop" ];
        }
      ?>
    </div>
  </body>
</html>

Der Code ist ungeprüft. So würde ich das machen...
 
So müsste es funktionieren.

Hallo,

vielen Dank.

So. Ich habe es auch noch mal selbst versucht und es ohne JavaScript hinbekommen, allerdings habe ich nun php verwendet. Außerdem habe ich das ganze ziemlich einfach gehalten. :smile:

Hier mein Code:
PHP:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> 
<html>
<head>
       <title>Repeat Youtube</title>
</head>
<body>
<form action="Repeat.php" method="post">
Bitte geben Sie die Video-ID ein:<br>
<input type="Text" name="ID" value="HjOVCwU1u-U">
<input type="Submit" value="Absenden">
</form>
<?php
$HauptLink = "http://youtube.com/v";
$Loop =";loop=1";
$ID = $_POST["ID"];
$DirektLink ="$HauptLink/$ID$Loop";
echo "<iframe src=\"".$DirektLink."\" width=640 height=400 frameborder=0>Link</iframe>";
?>
 
</body>
</html>

Mfg.

Ostwestfale
 
Ich würde noch prüfen, ob $_POST[ "ID" ] überhaupt gesetzt ist. Und wenn du das noch online stellen willst musst du XSS-Sicherheitsvorkehrungen treffen, ansonsten könntest du dich bald von deiner Seite verabschieden...
Also
PHP:
$ID = htmlspecialchars( $_POST[ "ID" ] );

Ansonsten, schön, dass ich helfen konnte. :D
 
Zurück
Oben