2016-04-07 6 views
1

Ich habe ein HTML mit Absenden-Taste. Senden sendet Sie an PHP.Finden Sie ein HTML-Element nach ID und ersetzen Sie seinen Inhalt durch PHP

PHP-Code hat dies:

header("location:./setupOk.html"); 
$html = file_get_html('setupOk.html'); 
$ret = $html->find('div[id=valueOk]'); 
echo $ret[0]->innertext = "foo"; 

und das ist einige meiner html setupOk.html Code:

<form action="http://54.186.92.18/Pixel-Matrix/keys.php" method="post"> 
<div class="logo"> 
     <link rel="stylesheet" type="text/css" href="styles.css"> 
     <label id="logo"</label> 
     <!--<label for="name">Type:</label>--> 
    </div> 
    <div class="right"> 
     <h1>Enter License Information</h1> 
     <div id="valueOk"> 
      <input type="text" id="valOk" name="Key" readonly="readonly" /> 
     </div> 
    </div> 
    <div class="button"> 
      <button id="validateB" type="submit">Validate Now ></button> 
    </div> 

</form> 

Nach Taste auf der ersten html ausgeführt wird, geht es zu PHP und neu geladen meine html Website mit SetupOk, aber nirgends ist ein Text drin. Irgendeine Lösungsmöglichkeit?

EDIT: mein Ziel ist es, eine allgemeine HTML (mit Label und Bilder) haben dann von php, setzen Text zu, dass HTML und laden automatisch diesen HTML auf Browser des Benutzers

EDIT2: MY FIRST HTML ISN‘ DAS GLEICHE ALS 2. HTML. ERSTES SCHICKT PETITION POST DANN PHP auf der INFO DEPENDING PHP SENT, PHP wird der Text auf dem 2. HTML FILL UND DIESE LETZTEN HTML ZUM GEBRAUCH Browser lädt

+0

Gibt es einen Grund, warum Sie nicht **

** verwenden? – izk

+1

Ich benutze Formular, das ist nicht meine ganze HTML, ich wollte nicht zu viel Text setzen –

+0

Ich habe keine Ahnung über das 'file_get_html' Plugin, aber nicht' $ ret [0] -> inertext' versuchen zu setzen etwas in "Eingabe" -Tags? wenn es nur 1 gibt? Wollen Sie nicht '-> Attribut ('Wert')' (oder was auch immer das Äquiv. Ist) – DevDonkey

Antwort

0

Vermeidung DOMParser und Laden/Umleitung zu HTML Seite - Sie tun können es einfacher Art und Weise wie (hat es eine PHP Datei sein):

<?php 
    $innerText = ""; 

    if (!empty($_POST['Key'])) { 
     $innerText = "foo"; 
    } 

?> 

<div class="logo"> 
     <link rel="stylesheet" type="text/css" href="styles.css"> 
     <label id="logo"</label> 
     <!--<label for="name">Type:</label>--> 
    </div> 
    <div class="right"> 
     <h1>Enter License Information</h1> 
     <div id="valueOk"> 
      <input type="text" id="valOk" name="Key" readonly="readonly" value="<?php echo $innerText;?>"/> 
     </div> 
    </div> 
    <div class="button"> 
      <button id="validateB" type="submit">Validate Now ></button> 
    </div> 

Wenn Sie denken, dies ist nicht, was Sie wollen - bitte erarbeiten Ihren Bedarf ein wenig.

UPDATE

setupOk.php

<form action="http://54.186.92.18/Pixel-Matrix/keys.php" method="post"> 
<div class="logo"> 
     <link rel="stylesheet" type="text/css" href="styles.css"> 
     <label id="logo"</label> 
     <!--<label for="name">Type:</label>--> 
    </div> 
    <div class="right"> 
     <h1>Enter License Information</h1> 
     <div id="valueOk"> 
      <input type="text" id="valOk" name="Key" readonly="readonly" /> 
     </div> 
    </div> 
    <div class="button"> 
      <button id="validateB" type="submit">Validate Now ></button> 
    </div> 

</form> 

keys.php[wo Sie das Formular einreichen]

require_once('simple_html_dom.php'); 

$processedResult = ""; 
if (!empty($_POST['Key'])) { 
    $processedResult = "foo"; 
} 

$html = file_get_html('setupOk.php'); 
$html->find('input[id=valOk]', 0)->value = $processedResult; 

echo $html; 

Ich habe es getestet und es funktioniert .

+0

PHP ist nicht auf der gleichen Datei so, wie würde HTML den Wert der Variablen wissen? –

+0

Ihr Formular sollte in einer PHP-Datei nicht HTML sein. Dann fügen Sie einfach die PHP-Datei in die Formularseite ein. Es wird klappen. –

+0

Ich sollte meine PHP-Datei nicht in HTML hinzufügen, weil es geheime Informationen über meine Datenbank enthält. –

Verwandte Themen