2016-05-17 3 views
-1

Я работаю с этой динамичной формойstr_replace для динамической формы

?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Input Data</title> 
<link href="style.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script> 
<script language="javascript"> 
    function tambahHobi() { 
      var idf = document.getElementById("idf").value; 
      var stre; 
      stre="<p id='srow" + idf + "'><input type='text' size='40' name='rincian_hobi[]' placeholder='Masukkan Hobi' /> <a href='#' style=\"color:#3399FD;\" onclick='hapusElemen(\"#srow" + idf + "\"); return false;'>Hapus</a></p>"; 
      $("#divHobi").append(stre); 
      idf = (idf-1) + 2; 
      document.getElementById("idf").value = idf; 
     } 
    function hapusElemen(idf) { 
      $(idf).remove(); 
     } 
</script> 
</head> 
<body> 
<div id="container"> 
<h2>Input Data</h2> 
<form method="post" action="doc.php"> 
    <input id="idf" value="1" type="hidden" /> 
    <p> Nomor Kotak : <input name="nama" type="text" id="nama" size="40"> </p> 
    <p> Kode :<select name="kode"> 
    <option></option> 
    <option value="BMN">BMN</option> 
    <option value="KP">KP</option> 
    <option value="A">A</option> 
    <option value="KU">KU</option> 
    <p> No : <input name="nokode" type="text" id="nama" size="40"> </p> 
    <p> TAHUN : <input name="tahun" type="text" id="nama" size="40"> </p> 

    <button type="button" onclick="tambahHobi(); return false;">Tambah Rincian</button> 
    <div id="divHobi"></div> 
    <button type="submit">Simpan</button> 
</form> 
</div> 
</body> 
</html> 

, котор я не используя базу данных, так что я просто сгенерировать форму, чтобы ms.Word документ
и это doc.php

<?php 

$nama=$_POST['nama']; 
     $kode=$_POST['kode']; 
     $nokode=$_POST['nokode']; 
     $tahun=$_POST['tahun']; 
     if(isset($_POST["rincian_hobi"])) 
        { 
         $hoby=$_POST["rincian_hobi"]; 
         reset($hoby); 
         while (list($key, $value) = each($hoby)) 
          { 
           $rincian_hoby =$_POST["rincian_hobi"][$key]; 
          } 
        } 

    $document = file_get_contents("doc.rtf"); 

$document = str_replace("%%NAMA%%", $nama, $document); 
$document = str_replace("%%KODE%%", $kode, $document); 
$document = str_replace("%%NOKODE%%", $nokode, $document); 
$document = str_replace("%%TAHUN%%", $tahun, $document); 
$document = str_replace("%%HOBI%%", $rincian_hoby, $document); 


header("Content-type: application/msword"); 
header("Content-disposition: inline; filename=doc.rtf"); 
header("Content-length: " . strlen($document)); 
echo $document; 

?> 

но str_replace на %% HOBI %%, не работает хорошо
это просто заменить последний вход из формы, не все
может кто-нибудь пожалуйста, скажите мне, что случилось
ТНХ

+0

Вы не видите, что находится в вашем doc.rtf, что могло бы прояснить ситуацию. –

+0

файл РТФ раз просто как: '%% ДНСР %% %% KODE %% %% %% NOKODE %% TAHUN %% %% HOBI %% ' и если я вход точно в динамическая форма, str_replace %% HOBI %% просто просмотреть последнюю запись, не все из них – edu240713

ответ

1

Это может быть ошибка ...

 if(isset($_POST["rincian_hobi"])) 
       { 
        $hoby=$_POST["rincian_hobi"]; 
        reset($hoby); 
        while (list($key, $value) = each($hoby)) 
         { 
          $rincian_hoby =$_POST["rincian_hobi"][$key]; 
         } 
       } 

В приведенном выше коде, вы $ rincian_hoby = $ _ POST [ "rincian_hobi"] [$ ключ] ; что неправильно. Должно быть,

  if(isset($_POST["rincian_hobi"])) 
       { 
        $hoby=$_POST["rincian_hobi"]; 
        reset($hoby); 
        while (list($key, $value) = each($hoby)) 
         { 
          $rincian_hoby .= $_POST["rincian_hobi"][$key] . ","; 
         } 
        $rincian_hoby = substr($rincian_hoby,0,-1); 
       } 
+0

wow..solved thx много – edu240713

+0

может у вас еще раз помочь, как поместить результат $ rincian_hoby вертикально thx много – edu240713

+0

Вместо этого используйте тег
: $ rincian_hoby. = $ _POST ["rincian_hobi"] [$ key]. "
"; а затем $ rincian_hoby = substr ($ rincian_hoby, 0, -5); –

Смежные вопросы