Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Adaptor usb3.1gigabit vs Adaptor ...

La multi ani @Atreides!

La multi ani @KENSINGTON!

La multi ani @burebista!
 La multi ani de Florii!

Stihl fs 70 c-e

Challengers (2024)

Care mai sunt mediile de admitere...
 Laptop cu HDD atasare memorie MMC...

Hartile google nu mai au chenarul...

Tomate in ghiveci la curte?

Idei cale de actiune recuperare g...
 Intoleranța lactoza- vegan v...

Tobe acustice insonorizare in blo...

Cine canta? Fragment din melodie...

Tablou sigurante Dacia Sandero 2012
 

probleme script

- - - - -
  • Please log in to reply
20 replies to this topic

#1
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
buna seara. am si eu un script pentru un guest book (cel postat mai jos)...si care arata pe site in momentul de fata ca in printscreen-ul atasat (p1). Ceea ce doresc sa adaug este faptul  ca sub butonul "Pagina urmatoare" sa apara si un sir cu toate paginile de mesaje, iar atunci cand se face click pe unul din butoane...de ex "pagina urmatoare"...in sir sa se albeasca cifra corespunzatoare paginii...am facut o imagine in paint cum as vrea sa arate (p2). Cum as putea realiza acest lucru, ce ar mai trebui adaugat la acest cod? va multumesc si astept un rapsuns de la voi. stima

<?php
session_start();
class maxGuestbook{
   var $messageDir = 'messages';
   var $dateFormat = 'd-m-Y H:i';
   var $itemsPerPage = 10;
   var $messageList;
  
function processGuestbook(){
   if (isset($_POST['submit']) && ( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) )) {
  $this->insertMessage();
   }
   $page = isset($_GET['page']) ? $_GET['page'] : 1;
  
   $this->displayGuestbook($page);
   unset($_SESSION['security_code']);
}
  
function getMessageList(){

   $this->messageList = array();
  
// Open the actual directory
if ($handle = @opendir($this->messageDir)) {
  // Read all file from the actual directory
  while ($file = readdir($handle))  {
  if (!is_dir($file)) {
$this->messageList[] = $file;
   }
  }
}

rsort($this->messageList);

return $this->messageList;
}  
function displayGuestbook($page=1){
  $list = $this->getMessageList();
  //echo "<center><a href='add.php'>Leave a message</a></center>";
  echo "<table class='newsList'>";

  //Get start point and end point
  $startItem = ($page-1)*$this->itemsPerPage;
  if (($startItem + $this->itemsPerPage) > sizeof($list)) $endItem = sizeof($list);
  else $endItem = $startItem + $this->itemsPerPage;

  for ($i=$startItem;$i<$endItem;$i++){
//foreach ($list as $value) {
$value = $list[$i];
   $data = file($this->messageDir.DIRECTORY_SEPARATOR.$value);
   $name  = trim($data[0]);
   $email = trim($data[1]);
$submitDate = trim($data[2]);
$ip = trim($data[3]);
unset ($data['0']);
unset ($data['1']);
unset ($data['2']);
unset ($data['3']);
  
$content = "";
foreach ($data as $value) {
$content .= $value;
}
  
   echo "<tr><th align='left'><a href=\"mailto:$email\">$name</a></th>
<th class='right'>$submitDate</th></tr>";
   echo "<tr><td colspan='2'>".nl2br(htmlspecialchars($content))."<br/></td></tr>";
echo "<tr><td colspan='2'>$ip<br/></td></tr>";
  }
  echo "</table>";
  if (sizeof($list) == 0){
echo "<center><p>Nu exista mesaje in acest moment!</p><p>&nbsp;</p></center>";
  }
  // Create pagination
  if (sizeof($list) > $this->itemsPerPage){
echo "<div id=\"navigation\">";
if ($startItem == 0) {
if ($endItem < sizeof($list)){
   echo "<div id=\"nright\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >Pagina urmatoare »</a></div>";
} else {
   // Nothing to display
}
} else {
if ($endItem < sizeof($list)){
   echo "<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >« Pagina anterioara</a></div>";
   echo "<div id=\"nright\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >Pagina urmatoare »</a></div>";
} else {
   echo "<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >« Pagina anterioara</a></div>";
}
}

echo "<br/></div><br/>";
  }
  echo "<hr />";
  $this->displayAddForm();
}
function displayAddForm(){
?>
  <strong><form class="iform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Nume / E-mail:<br/>
<input type="text" name="name" size="30"/><br/><br/>
Mesajul tau:<br/>
<textarea name="message" rows="7" cols="49"></textarea><br/></strong>
<img src="Imagini/CaptchaSecurityImages.php?width=100&height=40&characters=5" />
<strong><label for="security_code">Cod de securitate: </label><input id="security_code" name="security_code" type="text" /><br /></strong>
<br/>
<center><input type="submit" name="submit" value="TRIMITE" /></center>
  </form>
  
<?php  
}
function insertMessage(){
   $name   = isset($_POST['name']) ? $_POST['name'] : 'Anonim';
   $email  = isset($_POST['email']) ? $_POST['email'] : '';
   $submitDate  = date($this->dateFormat);
   $content = isset($_POST['message']) ? $_POST['message'] : '';
  
  
   if (trim($name) == '') $name = 'Anonim';
   if (strlen($content)<5) {
  exit();
   }
  
   $filename = date('YmdHi');
   if (!file_exists($this->messageDir)){
  mkdir($this->messageDir);
   }
   $f = fopen($this->messageDir.DIRECTORY_SEPARATOR.$filename.".txt","w+");
   fwrite($f,$name."\n");
   fwrite($f,$email."\n");
   fwrite($f,$submitDate."\n");
   fwrite($f,"<span style=color:red>IP: ".$_SERVER['REMOTE_ADDR']."</span>\n");
   fwrite($f,$content."\n");
   fclose($f);
  
}
}
?>

Attached Files

  • Attached File  p1.JPG   18.03K   14 downloads
  • Attached File  p2.JPG   26.06K   15 downloads

Edited by yo_suporter, 22 November 2012 - 03:04.


#2
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
nimeni nu ma poate ajuta? stima

#3
vangog

vangog

    Junior Member

  • Grup: Members
  • Posts: 59
  • Înscris: 22.05.2012
Pai in structura repetitiva (in acel for) verifici daca numarul paginii pe care se afla userul (variabila $page) este egala cu vreun element din sir. De aici incolo, e o formalitate. Totusi, nu imi dau seama unde este codul care afiseaza paginile. L-ai implementat deja ?

#4
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
nu l-am implementat. tocmai asta e problema. codul cum este postat mai sus...in pagina apare ca in imaginea p1...si eu vreau sa-i mai adaug ce trebuie ca sa-l fac sa arate in pagina ca in imaginea p2. stima

#5
vangog

vangog

    Junior Member

  • Grup: Members
  • Posts: 59
  • Înscris: 22.05.2012
In cazul asta, banuiesc ca sizeof($list) reprezinta numarul de pagini. vei proceda astfel, foarte usor:

$nr_pag=$sizeof($list);
for($i=1;$i<=$nr_pag;$i++){
if($i==$page){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>
}

#6
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
si in ce parte il adaug?...adica unde il intercalez in codul scriptului meu? stima

Edited by yo_suporter, 24 November 2012 - 12:41.


#7
vangog

vangog

    Junior Member

  • Grup: Members
  • Posts: 59
  • Înscris: 22.05.2012
Pai depinde. Daca vrei sa ti le afiseze tot timpul, si la ultima pagina, sau doar pana la ultima. Cel mai probabil prima, deci il vei integra de doua ori:

if ($endItem < sizeof($list)){
   echo "<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >« Pagina anterioara</a></div>";
$nr_pag=$sizeof($list);
for($i=1;$i<=$nr_pag;$i++){
if($i==$page){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>
}
   echo "<div id=\"nright\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >Pagina urmatoare »</a></div>";
} else {
for($i=1;$i<=$nr_pag;$i++){
if($i==$page){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>
}
   echo "<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >« Pagina anterioara</a></div>";
}
}

#8
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
vreau sa mi se afiseze pe fiecare pagina de mesaje. am adaugat cum ai zis mai sus...dar nu mai citeste deloc codul...numai apare nimic. stima

Edited by yo_suporter, 24 November 2012 - 21:53.


#9
vangog

vangog

    Junior Member

  • Grup: Members
  • Posts: 59
  • Înscris: 22.05.2012
Cum adica nu mai apare nimic ? Apare eroare, sau ce ? Am uitat sa inchid echo-urile. Adauga  ';  la sfarsitul lor.

#10
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
cand accesez pagina unde este postat codul...numai apare nimic...e pagina goala. am inchis si echo-urile...dar tot la fel... stima

#11
vangog

vangog

    Junior Member

  • Grup: Members
  • Posts: 59
  • Înscris: 22.05.2012
Poate nu ai implementat codul cum trebuie si ai pus un } in plus, sau prea inainte, sau deloc. Verifica in Notepad++ daca fiecare { are un corespondent.

#12
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
am adaugat exact ce mi-ai dat tu mai sus...uite cum arata partea unde am adaugat ...

// Create pagination
  if (sizeof($list) > $this->itemsPerPage){
echo "<div id=\"navigation\">";
if ($startItem == 0) {
    if ($endItem < sizeof($list)){
   echo "<div id=\"nright\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >Pagina urmatoare »</a></div>";
    } else {
   // Nothing to display
    }
} else {
   if ($endItem < sizeof($list)){
   echo "<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >« Pagina anterioara</a></div>";
$nr_pag=$sizeof($list);
for($i=1;$i<=$nr_pag;$i++){
if($i==$page){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>";
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>";
}
   echo "<div id=\"nright\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >Pagina urmatoare »</a></div>";
} else {
for($i=1;$i<=$nr_pag;$i++){
if($i==$page){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>";
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>";
}
   echo "<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >« Pagina anterioara</a></div>";
}
}

echo "<br/></div><br/>";
  }
  echo "<hr />";
  $this->displayAddForm();
}
function displayAddForm(){
?>

#13
vangog

vangog

    Junior Member

  • Grup: Members
  • Posts: 59
  • Înscris: 22.05.2012
Nu sunt inchise for-urile...

for($i=1;$i<=$nr_pag;$i++){
if($i==$page){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>";
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>";
}


Adauga inca un } la sfarsit

#14
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
am adaugat aici ....e bine sau nu trebuia aici? stima

echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>";
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>";
}
   echo "<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >« Pagina anterioara</a></div>";
}
}
}
echo "<br/></div><br/>";
  }
  echo "<hr />";
  $this->displayAddForm();
}
function displayAddForm(){
?>

#15
vangog

vangog

    Junior Member

  • Grup: Members
  • Posts: 59
  • Înscris: 22.05.2012
Ti-am dat bucata de cod careia trebuia sa-i mai adaugi un } . Uite aici:

Asta:
for($i=1;$i<=$nr_pag;$i++){
if($i==$page){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>";
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>";
}

Adauga un } la sfarsit. O ai de doua ori, ai grija

#16
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
stiu ca poate te stresez...dar...am adaugat dupa fiecare bucata de cod care mi-ai dato cate un {...dar tot nu merge... uite cum arata...

if ($endItem < sizeof($list)){
   echo "<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >« Pagina anterioara</a></div>";
$nr_pag=$sizeof($list);
for($i=1;$i<=$nr_pag;$i++){
if($i==$page){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>";
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>";
}
}
   echo "<div id=\"nright\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >Pagina urmatoare »</a></div>";
} else {
for($i=1;$i<=$nr_pag;$i++){
if($i==$page){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><font color="#fff">'.$i.'</font></a>";
}else{
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>";
}
}
   echo "<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >« Pagina anterioara</a></div>";
}
}

#17
vangog

vangog

    Junior Member

  • Grup: Members
  • Posts: 59
  • Înscris: 22.05.2012
Ai inchis echo-ul  cu  " (' dublu). trebuie unul simplu ( '  ), deoarece asa a fost deschis. Asta e mai mult o chestiune de preferinte, dar e mai comod cand ai de a face cu cod html sa folosesti '

#18
yo_suporter

yo_suporter

    Active Member

  • Grup: Members
  • Posts: 1,215
  • Înscris: 14.01.2010
am modificat si am inchis echo cu simplu (') dar in pagina nu apare nici o schimbare...apare cum aparea cu codul initial...si cand dau pe pagina urmatoare...apoi in noua pagina imi dispare butonul "pagina urmatoare"...imi ramane doar butonul "pagina anterioara" si imi dispare si casuta unde se scrie mesajul...

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate