2017-06-11 6 views
0

PHPを使用して新しいページ(ファイル)を作成しようとしています。新しいHTMLページを作成してPHPを使用してコンテンツを追加する

私はページを開いて作成しましたが、MySQLからコンテンツを追加しましたが、前のページからid変数を取得できませんでした。

私の管理パネルでは、このようなものです:ここで

<?php 
    if(isset($_POST['sayfaekle'])) { 
     $baslik = $_POST['baslik']; 
     $text = $_POST['editor1']; 
     $sql = "INSERT INTO sayfa (sayfa_baslik , sayfa_text) VALUES ('$baslik' , '$text')"; 

     $db->exec($sql); 
     $id=$db->lastInsertId(); 

     echo "basarılı"; 
     include "sayfagonder.php"; 
    }         
?> 

、私はbaslikとyaziを取得し、データベースに正常に挿入します。私はまた、IDを正常に取得します。新しいPHPページのコードを作成し、他のページで

このようなものです:

<?php 
    $_GET['id'] = $id; 
    ini_set('display_errors','0'); 
    error_reporting(0); 

    $pagename = '../'.$baslik. '.php' ; 

    $myfile = fopen($pagename , "w"); 
    $text = ' <?php 

    include "config.php"; 

    $id = $_GET["id"]; 

    echo $id; 
    $sayfasor=$db->prepare("select * from sayfa where sayfa_id=$id"); 
    $sayfasor->execute(array(0)); 
    $sayfacek=$sayfasor->fetch(PDO::FETCH_ASSOC); 

    include "header.php"; 
?> 

<div class="content"> 
    <div class="row"> 
     <div class="pageana"> 
      <div class="col-sm-8"> 
       <h1><?php echo $sayfacek["sayfa_baslik"]; ?></h1> 
       <?php echo $sayfacek["sayfa_text"]; ?> 
      </div>  
     </div> 
    </div> 
</div> 
</div> 

<?php 
    include "footer.php"; 
?> '; 

    fwrite($myfile , $text); 
    fclose($myfile); 
?> 

そして、私はこのエラーを取得する:

Notice: Undefined index: id in C:\xampp\htdocs\doktor\deneme56.php on line 5 

私はIDの値を取得することはできません。..

+0

私はあなたがその場でページを作成していると仮定します。しかし、作成したページにアクセスするには、 'url /?id = something'が必要です。それは '$ _GET ['id']'の中に値を持つようになります。現在のページで '$ _GET ['id'] = something'を設定したからといって、それが次のページ(または生成されたページ)に存在するという意味ではありません – FirstOne

+0

' $ text = '<?php etc etc '???それは動作しません – RamRaider

+1

btw;あまりにも多くの質問と受け入れられていない。 –

答えて

0

$idの値をフェッチしていますが、その値は維持されていません。変数php $_SESSIONの値を設定し、新しいページにアクセスします。このような何か -

<?php 
    session_start(); 
    if(isset($_POST['sayfaekle'])) { 
     $baslik = $_POST['baslik']; 
     $text = $_POST['editor1']; 
     $sql = "INSERT INTO sayfa (sayfa_baslik , sayfa_text) VALUES ('$baslik' , '$text')"; 

     $db->exec($sql); 
     $id=$db->lastInsertId(); 

     $_SESSION['id'] = $id; 
     echo "basarılı"; 
     include "sayfagonder.php"; 
    } 
?> 

今、あなたはこのように新しいページに、この値にアクセスすることができます -

<?php 
    session_start(); 
    $_GET['id'] = $_SESSION['id']; 
    ini_set('display_errors','0'); 
    error_reporting(0); 

    $pagename = '../'.$baslik. '.php' ; 

    $myfile = fopen($pagename , "w"); 
    $text = ' <?php 

    include "config.php"; 

    $id = $_GET["id"]; 

    echo $id; 
    $sayfasor=$db->prepare("select * from sayfa where sayfa_id=$id"); 
    $sayfasor->execute(array(0)); 
    $sayfacek=$sayfasor->fetch(PDO::FETCH_ASSOC); 

    include "header.php"; 
    ?> 
    <div class="content"> 
      <div class="row"> 
      <div class="pageana"> 
      <div class="col-sm-8"> 
      <h1><?php echo $sayfacek["sayfa_baslik"]; ?></h1> 
    <?php echo $sayfacek["sayfa_text"]; ?> 
      </div> 

      </div></div> 
    </div> 
    </div> 
<?php 
    include "footer.php"; 
?> '; 

fwrite($myfile , $text); 
fclose($myfile); 
?> 

Now coming to your code. When you already have value in Session variable you don't need to assign in $_GET variable. Access it directly.

+0

'session_start();'がありません。 – FirstOne

+0

@FirstOne完了。 –

+0

それは動作しませんでした.Notice:未定義のインデックス:id:C:\ xampp \ htdocs \ doktor \ am.php 5行目 – Emre

関連する問題