Creaza pagini cu date din get

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
MelecaCristian
Mesaje:176

Creaza pagini cu date din get

Am incercat sa creez pagini php culegand date din url, in scriptul de mai jos culege date:
De exemplu:
site.domeniu/?name=Soricel&url=http://...jpg&nume=soricel

Name = titlul imaginii
Url = url img
Nume = numele pagini din url


Toate bune si frumoase pana am incercat sa adaug si

Cod: Selectaţi tot

<?php include 'header.php'; ?>
In scriptul de mai jos imi da eroare deoarece el deja este un script php si nu stiu cum sa il introduc in pagina, precum in exemplul (ex: rau) de mai jos:

ex: rau

Cod: Selectaţi tot

<?php
$nume = $_GET['nume'];
$file = 'pagini/'. $nume .'.php';     // creaza pag.
$nrpg = 1;        // numarul maxim pt. afisari in pag.

if(isset($_GET['name']) && isset($_GET['url'])) {

$add = '<?php include 'header.php'; ?><center> name:'. $_GET['name']. ' <br/><img src=name:'. $_GET['url']. '></center><?php include 'footer.php'; ?>';

  // preia intr-un array randurile cu paginile salvate in $file
  $ar_pgs = file_exists($file) ? file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) : array();
  array_unshift($ar_pgs, $add);        // adauga datele paginii curente in array, la inceput
  $ar_pgs = array_unique($ar_pgs);     // elimina valorile identice
  $ar_pgs = array_slice($ar_pgs, 0, $nrpg);       // pastreaza doar numarul maxim de randuri
?>

<?php
  file_put_contents($file, implode($ar_pgs, "\n"));

  for($i=0; $i<count($ar_pgs); $i++) {
    $ar_pgs[$i] = str_replace(array('name:','age:'), '', $ar_pgs[$i]);
  }

  echo implode($ar_pgs, '');
}
?>
Daca nu pun

Cod: Selectaţi tot

<?php include 'header.php'; ?>
, respectiv

Cod: Selectaţi tot

<?php include 'footer.php'; ?>
scriptul functioneaza perfect, dar eu am nevoie pentru ca doresc sa afiseze si normla cu inceput si sfarsit al siteului.

ex: bun

Cod: Selectaţi tot

<?php
$nume = $_GET['nume'];
$file = 'pagini/'. $nume .'.php';     // creaza pag.
$nrpg = 1;        // numarul maxim pt. afisari in pag.

if(isset($_GET['name']) && isset($_GET['url'])) {

$add = '<?php include 'header.php'; ?><center> name:'. $_GET['name']. ' <br/><img src=name:'. $_GET['url']. '></center><?php include 'footer.php'; ?>';

  // preia intr-un array randurile cu paginile salvate in $file
  $ar_pgs = file_exists($file) ? file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) : array();
  array_unshift($ar_pgs, $add);        // adauga datele paginii curente in array, la inceput
  $ar_pgs = array_unique($ar_pgs);     // elimina valorile identice
  $ar_pgs = array_slice($ar_pgs, 0, $nrpg);       // pastreaza doar numarul maxim de randuri
?>

<?php
  file_put_contents($file, implode($ar_pgs, "\n"));

  for($i=0; $i<count($ar_pgs); $i++) {
    $ar_pgs[$i] = str_replace(array('name:','age:'), '', $ar_pgs[$i]);
  }

  echo implode($ar_pgs, '');
}
?>
Va rog mult, ma blochez la procesul adaugarii datelor in pagina ce urmeaza sa fie creata.
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford

steell Mesaje:190
Din cate vad nu ai respectat regulile ghilimelelor cum ar fi aici:

Cod: Selectaţi tot

$add = '<?php include 'header.php'; ?><center> name:'. $_GET['name']. ' <br/><img src=name:'. $_GET['url']. '></center><?php include 'footer.php'; ?>';
Aceasta variabila banuiesc ca ar trebui sa se termine dupa footer.php insa dupa cum ai scris-o se termina la prima ghilimea simpla intalnita.
Daca vrei sa adaugi acele ghilimele in sir pune \ inaintea lor.
Apoi banuiesc ca vrei sa scri intr-o pagina un cod php care sa se execute cand accesezi acea pagina. Poti sa folosesti fwrite() ca sa scrii acel cod in pagina (din nou atentie la ghilimele).
Si spune-ne si eroarea care iti apare, asa stim si noi mai usor ce sa cautam in script.

MarPlo Mesaje:4343
Se pot folosi ghilimele duble in sirul inclus intre ghilimele simple.
Incearca variabila $add asa:

Cod: Selectaţi tot

$add = '<?php include "header.php"; ?><center> name:'. $_GET['name']. '<br/><img src="'. $_GET['url']. '" /></center><?php include "footer.php"; ?>';

Subiecte similare