Netz-surfer: Fritz!Box 7050 braucht Formular, ich will aber link!

Hallo,

Ich hab die Firtz!box 7050 und hab da ein schönes Script gefunden mit dem man z.B. aus einem Adressbuch raus per Klick anrufen kann!
Hier das Script:

<form method="POST" action="http://fritz.box/cgi-bin/webcm" target="_self" id="uiPostForm" name="uiPostForm">
 <input type="hidden" name="login:command/password" value="password" id="uiPostPassword">
 <input type="hidden" name="telcfg:settings/UseClickToDial" value="1" id="uiPostClickToDial">
 <input type="hidden" name="telcfg:command/Dial" value="Telefonnummer" id="uiPostDial">
 <input type="hidden" name="telcfg:settings/DialPort" value="**1" id="uiPostDialPort">
 <input type="hidden" name="getpage" value="../html/de/menus/menu2.html" id="uiPostGetPage">
 <input type="submit" value="Call">
</form>

Mein Problem ist jetzt das ich über ein Telefonsymbol beim jeweiligen namen den anruf tätigen will.
Nur wenn ich jetzt den submit button mit nem image mache verhauts mir die ganze formatierung der tabelle. Und es kommt dann auch ne leere Seite nach dem klicken.

Meine Frage ist jetzt ob es möglich ist das Formular verschicken in eine Java Funktion zu packen die mann dann aufruft und die Telefonnummer übergibt?

Danke
Herbert

  1. hallo,

    Ich hab die Firtz!box 7050

    Schön für dich, trotz des Tippfehlers. Das Ding ist eine Software, mit der VoIP gehandhabt werden kann.

    und hab da ein schönes Script gefunden mit dem man z.B. aus einem Adressbuch raus per Klick anrufen kann! Hier das Script:
    <form method="POST" action="http://fritz.box/cgi-bin/webcm" target="_self" id="uiPostForm" name="uiPostForm">
    <input type="hidden" name="login:command/password" value="password" id="uiPostPassword">
    <input type="hidden" name="telcfg:settings/UseClickToDial" value="1" id="uiPostClickToDial">
    <input type="hidden" name="telcfg:command/Dial" value="Telefonnummer" id="uiPostDial">
    <input type="hidden" name="telcfg:settings/DialPort" value="**1" id="uiPostDialPort">
    <input type="hidden" name="getpage" value="../html/de/menus/menu2.html" id="uiPostGetPage">
    <input type="submit" value="Call">
    </form>

    Daß das kein "Script" ist, sondern ein Formular, ist dir aber schon klar? Und daß du einen Webserver mit dem Namen "fritz.box" ansprechen mußt (was nicht gelingen kann, da "box" keine wirkliche TLD ist, es sei denn, du hättest sie dir lokal erfunden), auf dem du natürlich auch ein Verzeichnis /cgi-bin brauchst, in dem ein Script (oder eine ausführbare Datei) "webcm" liegt, weißt du auch? Hast du sowas?

    Mein Problem ist jetzt das ich über ein Telefonsymbol beim jeweiligen namen den anruf tätigen will.

    Ja, das ist dein Problem. Erläutere bitte, was dieses Symbol mit einem HTML-Formular zu tun hat.

    Nur wenn ich jetzt den submit button mit nem image mache verhauts mir die ganze formatierung der tabelle.

    Welche Tabele?

    Meine Frage ist jetzt ob es möglich ist das Formular verschicken in eine Java Funktion

    Nein. Formulare werden schlicht nicht verschickt, ihr Inhalt kann gegebenenfalls verschickt weerden. Und was das Ganze mit JAVA zu tun haben soll, ist reichlich schleierhaft.

    die mann dann aufruft und die Telefonnummer übergibt?

    Aha, gibs zu, du willst keine Frauen an deinen Rechner lassen. Schäm dich.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    http://www.christoph-schnauss.de
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Also dann anders!

      Da gibt es die Fritz!Box nen Server mit mysql php usw... und nen clienten.

      So das HTML Document liegt auf dem Server und functioniert so ja auch schon, wenn ich auf Call klicke klingelt das Telefon!!!!!

      nun hab ich mit Mysql und PHP ein adressbuch aufgebaut.

      Die PHP seite soll nach meinen Vorstellungen so aussehen.

      <javascript>
      function formsend(Telefonnummer)
      {
        **Und hier liegt das Problem**
        Hier würde ich gern die Daten an die Fritz!Box schicken.
      }

      <body>

      <?mysql conect bla bla

      while (Adressen)
      {
      ?>
      <td><a href="FUNKTION FORMSEND(Adressen[Telefonnummer])"><img src="Telefonbild"></a></td>
      <?
      }

      Danke

      1. hallo,

        Da gibt es die Fritz!Box nen Server mit mysql php usw... und nen clienten.
        So das HTML Document liegt auf dem Server

        Das ist alles noch glaubhaft.

        und functioniert so ja auch schon, wenn ich auf Call klicke klingelt das Telefon!

        Es klingelt offenbar so laut und oft, daß deine Tastatur klemmt und du zuviele "!!!!" schreibst.

        nun hab ich mit Mysql und PHP ein adressbuch aufgebaut.

        Interessant. Wo und wie hast du das gemacht?

        Die PHP seite soll nach meinen Vorstellungen so aussehen.
        <javascript>

        Das ist völlig unmöglich.

        function formsend(Telefonnummer)
        {
          **Und hier liegt das Problem**
          Hier würde ich gern die Daten an die Fritz!Box schicken.
        }

        Es tut mir leid, aber dir scheinen elementare Grundkenntnisse zu fehlen. Grundsätzlich ist es allerdings möglich, mit einer Javascript-Funktion (merke dir bitte, daß das absolut nichts mit JAVA zu tun hat) irgendwelche eingegebenen Daten an ein Formular zu übergeben, das diese Daten dann an den Server weiterreicht.

        <body>
        <?mysql conect bla bla
        while (Adressen)
        {
        ?>

        Das ist mir unverständlich.

        <td><a href="FUNKTION FORMSEND(Adressen[Telefonnummer])"><img src="Telefonbild"></a></td>

        Das wiederum würde schematisch eventuell in der Form
           <td><a href="javascript:formsend(Adressen[Telefonnummer])"><img src="Telefonbild"></a></td>
        funktionieren können. Voraussetzung wäre, daß eine solche Javascriptfunktion geladen ist und in ihr irgendetwas Sinnvolles drinsteht; empfehlenswert ist so ein Konstrukt jedoch nicht. Gleichzeitig wäre allerdings zu fragen, warum das eine Tabellenzelle sein muß (in einer Liste mit Rufnummern sollte das doch bitte eine Liste sein, also <li>), und warum nicht gleich dein vermutlich beabsichtigtes PHP-Script als Verweisziel angesteuert wird.

        <?
        }

        Was soll diese nette Zugabe bedeuten?

        Danke

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        http://www.christoph-schnauss.de
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. <html>
          <head>
          <title>Datenbank</title>
          </head>

          <style type="text/css">
          body
           {
           background-color: #dddddd;
           margin-top: 0px;
           }
          tr#Zeile
           {
           cursor: pointer;
           height: 28px;
           }
          td#Rahmenlinks
           {
           border-left: 1px solid Black;
           }
          </style>
          <script type="text/javascript">
          function anrufen(Nummer)
           {
           CallFenster = window.open("call.html", "CallFenster", "width=400,height=160");
           CallFenster.focus();
           CallFenster.document.writeln('<html>');
           CallFenster.document.writeln('<head><title></title></head>');
           CallFenster.document.writeln('<body bgcolor=green>');
           CallFenster.document.writeln('<table width="100%" height=80 border=1><tr><td align="center">');
           CallFenster.document.writeln('<form method="POST" action="http://fritz.box/cgi-bin/webcm" target="_self" id="uiPostForm" name="uiPostForm">');
           CallFenster.document.writeln('<input type="hidden" name="login:command/password" value="******" id="uiPostPassword">');
           CallFenster.document.writeln('<input type="hidden" name="telcfg:settings/UseClickToDial" value="1" id="uiPostClickToDial">');
           CallFenster.document.writeln('<input type="hidden" name="telcfg:command/Dial" value="'+Nummer+'" id="uiPostDial">');
           CallFenster.document.writeln('<input type="hidden" name="telcfg:settings/DialPort" value="**1" id="uiPostDialPort">');
           CallFenster.document.writeln('<input type="hidden" name="getpage" value="../html/de/menus/menu2.html" id="uiPostGetPage">');
           CallFenster.document.writeln('<input type="submit" value="Call">');
           CallFenster.document.writeln('</form>');
           CallFenster.document.writeln('</td></tr></table></body></html>');
           }
          </script>

          <body>
          <?
           require "../config.inc.php";
           $connect = mysql_connect($dbhost, $dbuser, $dbpwd) or die ("Die Verbindung zum Datenbankserver ist fehlgeschlagen");
           mysql_select_db($db, $connect) or die ("Die Datenbank wurde nicht gefunden");

          //Adressen auflisten
           if (!empty($bustab)){$sql = "select * from adressen where Name like '$bustab%' order by Name;";}
           else{$sql = "select * from adressen order by Name;";}
           $query = mysql_query($sql);
          ?>
           <table cellspacing=0 cellpadding=0>
          <?
           while ($daten = mysql_fetch_array($query))
            {
            if (!empty($daten[12])){$mail = '<a href="mailto:'.$daten[12].'"><img src="../grafik/mail.gif" border=0 alt="'.$daten[12].'"></a>';}else{$mail='&nbsp;';}
            if (!empty($daten[7]))
             {
             $waehlen = str_replace(" ","", $daten[7]);
             $nummer = str_replace(" ","/", $daten[7]);
             $link = "javascript:anrufen('".$waehlen."')";
             $fon = '<a href="'.$link.'"><img src="../grafik/telefon.gif" border=0 alt="'.$nummer.'"></a>';
             }
            else{$fon='&nbsp;';}
            if (!empty($daten[9]))
             {
             $waehlen = str_replace(" ","", $daten[9]);
             $nummer = str_replace(" ","/", $daten[9]);
             $link = "javascript:anrufen('".$waehlen."')";
             $handy = '<a href="'.$link.'"><img src="../grafik/handy.gif" border=0 alt="'.$nummer.'"></a>';
             }
            else{$handy='&nbsp;';}
            if (!empty($daten[10]))
             {
             $waehlen = str_replace(" ","", $daten[10]);
             $nummer = str_replace(" ","/", $daten[10]);
             $link = "javascript:anrufen('".$waehlen."')";
             $voip = '<a href="'.$link.'"><img src="../grafik/voip.gif" border=0 alt="'.$nummer.'"></a>';
             }
            else{$voip='&nbsp;';}
            if (!empty($daten[17])){$armail = '<a href="mailto:'.$daten[17].'"><img src="../grafik/mail.gif" border=0 alt="'.$daten[17].'"></a>';}else{$armail='&nbsp;';}
            if (!empty($daten[14]))
             {
             $waehlen = str_replace(" ","", $daten[14]);
             $nummer = str_replace(" ","/", $daten[14]);
             $link = "javascript:anrufen('".$waehlen."')";
             $arfon = '<a href="'.$link.'"><img src="../grafik/telefon.gif" border=0 alt="'.$nummer.'"></a>';
             }
            else{$arfon='&nbsp;';}
            if (!empty($daten[16]))
             {
             $waehlen = str_replace(" ","", $daten[16]);
             $nummer = str_replace(" ","/", $daten[16]);
             $link = "javascript:anrufen('".$waehlen."')";
             $arhandy = '<a href="'.$link.'"><img src="../grafik/handy.gif" border=0 alt="'.$nummer.'"></a>';
             }
            else{$arhandy='&nbsp;';}
            $arhandy = $daten[16];
            $name = $daten[2]." ".$daten[3];
            if (!empty($daten[1])){$name = $name." - ".$daten[1];}
          ?>
            <tr id="Zeile" onMouseOver="bgColor='#bbbbbb'" onMouseOut="bgColor=''">
             <td width="10" id="Rahmenlinks">&nbsp;</td>
             <td width="24"><?=$mail?></td>
             <td width="28"><?=$fon?></td>
             <td width="24"><?=$handy?></td>
             <td width="24"><?=$voip?></td>
             <td width="10">&nbsp;</td>
             <td width="10" id="Rahmenlinks">&nbsp;</td>
             <td width="24"><?=$armail?></td>
             <td width="28"><?=$arfon?></td>
             <td width="24"><?=$arhandy?></td>
             <td width="10">&nbsp;</td>
             <td width="10" id="Rahmenlinks">&nbsp;</td>
             <td><?=$name?></td>
            </tr>
          <?
            }
          ?>
          </table>

          </body>

          </html>

          1. Ups da hab ich wohl zu bald auf absenden geklickt!

            Also hab jetzt mal die PHP Seite geschickt.

            Ich möchte jetzt an der Stelle wo ich ein neues Fenster öffne in der anrufen Function das ganze gleich raus schicken und nicht den umweg über ein popup machen.

            Die Grundkentnisse sind schon vorhanden nur bin ich fälschlicher weise davon ausgegangen das der LESENDE auch eine Ahnung von der Sache hat wenn er schon so gscheit daher schreibt.

            Nichts für Ungut.
            Locker bleiben sonst macht das leben keinen Spaß !!!!!!!!!!!!!!!!!!

            1. Hallo, Netz!

              Die Grundkentnisse sind schon vorhanden nur bin ich fälschlicher weise davon ausgegangen das der LESENDE auch eine Ahnung von der Sache hat wenn er schon so gscheit daher schreibt.

              ahnung wird der schon haben, nur mag er dir die fehlersuche nicht abnehmen, sondern nur ein paar hinweise geben.
              javascript hat nunmal nichts mit java zu tun und wenn du in zukunft fehler vermeiden willst, solltest du diese unterscheidung halt lernen.

              zu deiner frage:
              du kannst entweder mit javascript auf das formular zugreifen und den wert (value) des entsprechenden formularelementes setzen, bevor du es per "formularname.submit()" abschickst,
              oder du verwendest XMLHttpRequest, womit du auch "post"-requests versenden kannst. selber mal danach googlen und z.b. wikipedia lesen hilf dabei. ;-)

              freundl. Grüsse aus Berlin, Raik

              --
              Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
              Resizeable Textarea 0.1a
              1. Hallo Raik,

                Das war doch genau das was ich gesucht habe, danke.

                Ich wollt auch keine Hilfe bei der Fehlersuche, da das script auch läuft. Wollt nur nen Tipp wie man Formulardaten mit JAVASCRIPT verschickt.

                Nochmals Danke

            2. hallo,

              Also hab jetzt mal die PHP Seite geschickt.

              Aha. Ja, hast du. Aber da gibts nun auch ein

              require "../config.inc.php";

              Und ohne Kenntnis dessen, was da nun wieder drinsteht, kann man die Gesamtkomposition deines Scripts weder bewundern noch kritisieren noch nachvollziehen. Auch wenn da vermutlich kaum etwas Unerwartetes drinsteht. Außerdem hast du nicht verraten, wie dein PHP-Script jetzt heißt.

              Du hast in diesem etwas verwirrend geschriebenen PHP-Script in kunterbuntem Durcheinander immer einmal wieder Scriptteile in der Form
                <?
                [Scriptanweisungen]
                ?>
              stehen, dazwischen gibt es dann etwas HTML. Das "funktioniert" zwar möglicherweise, sieht aber sehr ungesund aus. Kannst du nicht das Ganze als _ein_ Script behandeln und beispielsweise mit Variablen dafür sorgen, daß du nicht immer einmal wieder den Scriptbereich für einen kurzen HTML-Ausflug verlassen mußt?

              Ich möchte jetzt an der Stelle wo ich ein neues Fenster öffne in der anrufen Function das ganze gleich raus schicken und nicht den umweg über ein popup machen.

              Dann laß doch das ganze

              function anrufen(Nummer)
              {
              CallFenster = window.open("call.html", "CallFenster", "width=400,height=160");
              [...]

              einfach weg, dann gibts kein popup, aber vermutlich auch keinen Anruf :-(

              Dumme Sache aber: natürlich hast du bisher auch die "call.html" verschwiegen. Vermutlich soll die aber per Mausklick eine Verbindung herstellen, was sie möglicherweise sogar tut. Warum übernimmst du nicht ihren gesamten Code in deine PHP-Datei und läßt eben popups popups sein?

              Die Grundkentnisse sind schon vorhanden

              Was zu bezweifeln bleibt.

              nur bin ich fälschlicher weise davon ausgegangen das der LESENDE auch eine Ahnung von der Sache hat wenn er schon so gscheit daher schreibt.

              Deine Frage war:

              Mein Problem ist jetzt das ich über ein Telefonsymbol beim jeweiligen namen den anruf tätigen will.

              Nun hast du in dem ganzen Code aber keinerlei Telefonsymbol bestimmt (falls du damit nicht die in größerer Anzahl vorkommenden GIFs meinst, die selbstverständlich keine Taskleisten- oder Desktopsymbole sind), und niemand weiß, wo sich dieses verflixte Symbol bei dir aufhält, und ob das Ding denn überhaupt etwas von deiner Scriptvorgabe versteht. Das gesamte teilweise sogar interessante Codegewurschtel, das du bisher gepostet hast, hilft so lange nicht weiter, bis dir nicht klar ist, welche "Vorgänge" du mit einem Klick auf irgendein Symbol auslösen möchtest und wie die dann gesteuert werden.
              Uff. Ich habe zwar sowohl ein Telefon wie auch einen relativ schnellen Internetanschluß, aber VoiP würde trotzdem bei mir nicht funktionieren - versuch also bitte gar nicht erst, mich anzurufen *g*

              Locker bleiben sonst macht das leben keinen Spaß !

              Jau. Aber deine Tastatur, die hier andauernd solchen Krimskrams wie
              "!!!!!!!!!!!!!!!!!"
              hineinhämmert, macht auch keinen Spaß, vielleicht solltest du mal die Kekskrümel, die da irgendwo dazwischenklemmen, rausklopfen.

              Alles in allem: du bist hier im SELF-Forum. Also gibts ein paar Anstöße, in welche Richtung du _selber_ vielleicht denken solltest. Aber keine für dich maßgeschneiderte Lösung.

              Grüße aus Berlin

              Christoph S.

              --
              Visitenkarte
              http://www.christoph-schnauss.de
              ss:| zu:) ls:& fo:) va:) sh:| rl:|
              1. Hallo, Christoph!

                Alles in allem: du bist hier im SELF-Forum. Also gibts ein paar Anstöße, in welche Richtung du _selber_ vielleicht denken solltest. Aber keine für dich maßgeschneiderte Lösung.

                exakt.

                etwas habe ich noch übersehen:
                wenn die rufnummer per link an php gesendet werden soll (auch formulare und buttons _kann_ man mit css formatieren.), kann php den request selber generieren.
                dazu liest du mal im php-manual bei "fsockopen" und "fputs" nach.

                freundl. Grüsse aus Berlin, Raik

                --
                Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
                Resizeable Textarea 0.1a
    2. Hi!

      Und daß du einen Webserver mit dem Namen "fritz.box" ansprechen mußt (was nicht gelingen kann, da "box" keine wirkliche TLD ist, es sei denn, du hättest sie dir lokal erfunden), auf dem du natürlich auch ein Verzeichnis /cgi-bin brauchst, in dem ein Script (oder eine ausführbare Datei) "webcm" liegt, weißt du auch? Hast du sowas?

      Ja, hat er. Die Fritz-Box ist aus dem lokalen Netz immer unter http://fritz.box erreichbar und spielt auch Webserver.

      Gruß aus Iserlohn

      Martin