2017-06-11 3 views
0

Ich versuche, neue Seite (Datei) mit PHP zu erstellen.Erstellen Sie eine neue HTML-Seite und fügen Sie Inhalte mit PHP

Ich habe die Seite geöffnet und erstellt, und ich habe es Inhalt von MySQL hinzufügen, aber ich konnte ID-Variable nicht von der vorherigen Seite erhalten.

My Admin-Panel ist wie folgt:

<?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"; 
    }         
?> 

Hier drin, ich başlık und yazi und legen Sie in die Datenbank erfolgreich. Ich bekomme auch ID erfolgreich.

In anderer Seite, die ein neuen PHP-Seite-Codes sind wie folgt erstellt:

<?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); 
?> 

Und ich bekomme diese Fehlermeldung:

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

Ich kann nicht den Wert von id bekommen ..

+0

Ich nehme an, Sie eine Seite on the fly zu erstellen. Aber wenn Sie auf die von Ihnen erstellte Seite zugreifen, müssen Sie 'url /? Id = something' haben. Dadurch haben Sie einen Wert innerhalb von $ _GET ['id'] '. Nur weil Sie auf der aktuellen Seite '$ _GET ['id'] = irgendwas 'gesetzt haben, bedeutet das nicht, dass es in der nächsten (oder sogar in der generierten Seite) – FirstOne

+0

ist, was mit dem' $ text = " RamRaider

+1

btw; zu viele Fragen und keine akzeptiert. –

Antwort

0

Sie rufen den Wert $id ab, aber dieser Wert wird nicht beibehalten. Setzen Sie den Wert in eine php $_SESSION Variable und greifen Sie dann auf eine neue Seite zu. So etwas wie diese -

<?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"; 
    } 
?> 

Jetzt können Sie diesen Wert auf neue Seite wie diese zugreifen können -

<?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

Fehlender 'session_start();'. – FirstOne

+0

@FirstOne Fertig. –

+0

Es hat nicht funktioniert.Notice: Undefinierter Index: ID in C: \ xampp \ htdocs \ doktor \ am.php in Zeile 5 – Emre

Verwandte Themen