Webdesign in Siegen

Gästebuch Tut

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

Gästebuch Tut

Beitragvon kwd am 06.04.2008, 17:09

Hi,

habe mich nun am Gästebuch versucht.. habe 2 Fehler...

1. er lässt den Buchstaben "n" in den Einträgen weg - gequetscht sind die Einträge auch aber vor lauter Bäumen im Wald finde ich wahrsch. grad nur die Stelle mit irgendeiner Größenangabe nicht.
2. ich bekomme nur Seite 1, weitere tauchen nicht auf.

Evtl. Fehlerquelle :oops: - ich habe das Formular in eine insert.php gepackt und vermute mal so einfach ist das doch nicht? Kann es sein, das er dadurch einiges in der Datenbank nicht aktualisiert weil nun natürlich keinerlei php-Anweisungen dazu vorhanden sind?

Weitere Änderungen, falls von Bedeutung: habe eine Sprachdatei dazu gepackt und eine externe CCS.

guestbook.php
Code: Alles auswählen
<?php
   echo '<link rel="stylesheet" type="text/css" href="design.css">';
   require_once "mysql_connect.php";


#########################
##  Seitenaufteilung   ##
#########################


   $uebergabe =  mysql_query("SELECT * FROM gb ORDER BY id DESC");
   $entrys = 5;  // Anzahl der dargestellten Beiträge pro Seite

   require_once "page.php"; // hier wird das Script für die Seitenaufteilung inkludiert
   require_once 'lang/german.php';


###################################
##  Das Script für das PopUp,    ##
##  das geöffnet wird, wenn auf  ##
##  'Details' geklickt wird      ##
###################################

    ?>
    <script type="text/javascript" language="JavaScript">
    <!--
      function popUp(URL) {
        day = new Date();
        id = day.getTime();
        eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=1,menubar=0,resizable=1,width=350,height=250');");
      }
    -
    </script>
    <?php


################################
##  Das Script, um Smileys    ##
##  per Klick  auf die neben- ##
##  stehende Grafik ins       ##
##  Textfeld zu setzen        ##
################################

    ?>
    <script type="text/javascript" language="JavaScript">
    <!--
      function AddText(text) {
        var box = document.forms[[0]].formmessage;
        if (!box) {
          alert("Formularelement nicht gefunden");
          return;
        }
        if (box.createTextRange && box.caretPos) {
          var caretPos = box.caretPos;
          caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
        } else box.value += text;
      }
    -
    </script>
    <?php


####################################################
##  Hier wird die Funktion für Umlaute inkludiert ##
##  Wird benötigt nach dem Einlesen des           ##
##  Eingetragenen, um eventuelle Sonderzeichen    ##
##  und Zeilenumbrüche richtig zu erkennen        ##
####################################################


   include "umlaute.php";


##############################################
##  Nachfolgend wird die Funktion für die   ##
##  Smileys inkludiert. Sie wird benötigt,  ##
##  um nach dem Absenden des Formulars      ##
##  eventuell verwendete Smileys zu         ##
##  erkennen und gegebenenfalls mit der     ##
##  angegebenen Grafik zu ersetzen.         ##
##############################################


   include "smileys.php";


#################################################
##  wenn der Eintragen-Button geklickt wurde,  ##
##  trägt er die neuen Informationen in die    ##
##  Datenbank ein oder meldet einen Fehler     ##
#################################################

   $eintragen = $_POST['eintragen']; // Übergabeparameter, ob der Eintragen-Button gedrückt wurde

   if ($eintragen == '2') {

###########################
##  Parameterübergaben   ##
###########################

//Übergaben aus dem Gästebuchformular
   $name = $_POST['formname']; // Name
   $mail = $_POST['formmail']; // Mail
   $homepage = $_POST['formhomepage']; // Homepage
   $icq = $_POST['formicq']; // ICQ
   $message = $_POST['formmessage']; // Nachricht


## falls kein Name eingetragen wurde

     if (empty($name)) {
       $output = $output."<tr><td>$lang[1]</td></tr>";
     }

## falls keine Nachricht eingetragen wurde

     if (empty($message)) {
       $output = $output."<tr><td>$lang[2]</td></tr>";
     }


     if (!empty($message) && !empty($name)) {
## trage in die Datenbank ein

       $message = umlaute($message);
       $message = smileys($message);
       if ($homepage == 'http://') {
         $homepage = '';
       }

       $insert = mysql_query("INSERT INTO gb (name, email, homepage, icq, message, time, ip) VALUES ('$name', '$mail', '$homepage', '$icq', '$message', now(), '".$_SERVER['REMOTE_ADDR']."')") or die('Technischer Defekt: '.mysql_error());

## falls kein Eintrag in die Datenbank erstellt wurde

       if (!$insert) {
         $output = $output."<tr><td>$lang[3]</td></tr>";
       }

## wenn der Eintrag in die Datenbank eingetragen wurde

       else {
         $output = $output."<tr><td>$lang[4]</td></tr>";
       }
     }
## Fehlerausgabe
     if (!empty($output)) {
       ?>
         <table border="0" style="border-top:1px solid #000000;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin-left:20%;width:50%;color:#000000;background-color:#FFFFEE;text-align:center;margin:5px;padding:5px;">
          <?php echo $output; ?>
         </table>
       <?php
     }
   }


#############################
##  Das Gästebuchformular, ##
##  indem ein neuer        ##
##  Gästebucheintrag ge-   ##
##  speichert werden kann. ##
#############################
?>

<center><a href="insert.php">Eintrag erstellen</a></center>

<?php
#########################
##  Seitenauswahl und  ##
##  Darstellung der    ##
##  Seitenanzahl       ##
#########################
?>
   <p>
     Einträge gesamt:
<?php

   $output_now = mysql_query("SELECT * FROM gb ORDER BY id DESC LIMIT $start, $eintraege_pro_seite");
   $output_ges = mysql_query("SELECT * FROM gb");
   $num = mysql_num_rows($output_ges);

   echo $num;
?>
     <br />
     <?php echo "".$lang[5]."".$start2." - ".$ende.""; ?>
   </p>
   <p>

     <?php echo "".$lang[6]."".$link_string.""; ?>
   </p>

<?php
##########################
##  Ausgabe der         ##
##  bisherigen Einträge ##
##########################

   while ($row = mysql_fetch_array($output_now)) {
     $id_ = $row['id'];
     $name_ = $row['name'];
     $email_ = $row['email'];
     $homepage_ = $row['homepage'];
     $icq_ = $row['icq'];
     $message_ = $row['message'];
     $time_ = date("d.m.Y, H:i", strtotime($row['time']));

     ?>
     <div align="center">
       <table class="table">
         <tr>
           <td class="titletd"><?php echo $name_; ?></td><td style="text-align:right;width:200px;"><?php echo $time_; ?> Uhr</td>
         </tr>
         <tr class="tr">
           <td colspan="3"> </td>
         </tr>
         <tr>
           <td colspan="3" class="td"><?php echo $message_; ?></td>
         </tr>
         <tr>
           <td colspan="3"> </td>
         </tr>
         <tr class="tr">
           <td class="td"><?php if(!empty($email_) || !empty($homepage_) || !empty($icq_)) {?><a href="gb-details.php?nameurl=<?php echo $name_; ?>&homepageurl=<?php echo $homepage_; ?>&mailurl=<?php echo $email_; ?>&icqurl=<?php echo $icq_; ?>" target="_blank" onclick="popUp(this.href); return false">Details</a><?php } ?></td>
         </tr>
       </table>
     </div>
     <br />
<?php
   }
?>

<p>

   <?php echo "".$lang[6]."".$link_string.""; ?>
</p>


insert.php
Code: Alles auswählen
<html>
<head>
<link rel="stylesheet" href="design.css" type="text/css">
</head>
<body>

<form name="gb" method="post" action="guestbook.php">
  <table border="0">
    <tr>
      <td>
        <table width="250" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td colspan="2"> </td>
          </tr>
          <tr>
            <td>Name*:</td>
            <td><input name="formname" type="text" id="formname" maxlength="30" /></td>
          </tr>
          <tr>
            <td>E-Mail:</td>
            <td><input name="formmail" type="text" id="formmail" maxlength="30" /></td>
          </tr>
          <tr>
            <td>Homepage:</td>
            <td><input name="formhomepage" type="text" id="formhomepage" value="http://" maxlength="30" /></td>
          </tr>
          <tr>
            <td>ICQ:</td>
            <td><input name="formicq" type="text" id="formicq" maxlength="30" /></td>
          </tr>
          <tr>
            <td colspan="2"> </td>
          </tr>
        </table>
      </td>
      <td>Nachricht*:</td>
      <td><textarea name="formmessage" rows="10" id="formmessage"></textarea></td>
      <td>
        <table border="0">
          <tr>
            <td><a href="javascript:AddText(':)');"><img src='guestbook/smile.gif' border="0" alt="" /></a></td>
          </tr>
        </table>
      </td>
    </tr>
    <tr>
      <td colspan="2"> </td>
      <td><input type="submit" name="Submit" value="Eintragen"><input type="reset" name="Submit2" value="Leeren"><input name="eintragen" type="hidden" value="2"></td>
    </tr>
  </table>
</form><br />
<a href="guestbook.php">Zur&uuml;ck zum G&auml;stebuch</a>

   <p style="text-align:right;font-size:9px;">
     mit * markierte Felder müssen ausgefüllt werden
   </p>
   <hr align="right" noshade="noshade" />

   </body>
   </html>


Weitere Frage: wie kann ich die Textbeschreibung eines einfachen Links aus der german.php auslesen lassen? Momentan habe ichs ja nur so:
Code: Alles auswählen
<center><a href="insert.php">Eintrag erstellen</a></center>


In ein Echo gepackt im php Bereich funktionierte es nicht. Ich kenne die Detail-Teufel leider noch nicht.. hoffe ihr könnt mir weiterhelfen :)
LG

Mona
kwd
Mitglied
 
Beiträge: 35
Registriert: 24.03.2008, 15:30
Wohnort: Niedersachsen

Re: Gästebuch Tut

Beitragvon Basti am 06.04.2008, 18:00

Einen Fehler kann ich jetzt auf Anhieb nicht finden, wobei ich aber auch nicht alles genauestens angeschaut habe.

Ersteinmal solltest du deinen Quelltext ein wenig optimieren:

1. Bei include() und require_once() immer die Klammern schreiben, immerhin sind das Funktionen und die Schreibweise ohne Klammern halte ich für ziemlich unsauber. Zudem brauchst du einfache Strings nicht in doppelten Anführungsstrichen schreiben. Wenn keine Variablen enthalten sind, die geparst werden müssen, reichen auch einfache Anführungsstriche.

2. Du solltest die PHP Tags nicht andauernd für HTML Ausgaben schließend und danach wieder öffnen. Das ist ziemlich unübersichtlich und zudem nicht gerade effizient. Auch im HTML eingeschobene PHP Tags für nur eine Ausgabe führen zu unnötig langen Quelltexten und viel Unübersichtlichkeit.
Verwende lieber herkömmliche PHP Ausgaben, falls dir die normalen Ausgaben für die mehrzeiligen Sachen nicht gefallen, wären HEREDOC Ausgaben vielleicht etwas für dich.

3. $output sollte initiert werden, bevor du einfach String daran anhängst. Ein einfaches $output = ''; reicht dafür ja schon.

4. Es macht keinen Sinn, zuerst über ein "OR die()" einen eventuellen Fehler abzufangen und danach das gleiche nocheinmal mit einer if-Abfrage zu wiederholen. Eines von beiden reicht.

5. Was passiert mit dem Query von $uebergabe? Teilweise fehlen mir auch bei anderen Teilen die Zusammenhänge. Vielleicht wäre es bei einigen Scripten sinnvoll, sie doch noch zu posten, so zum Beispiel die Datei "page.php".

So, das wären jetzt erstmal die Sachen die ich dir fürs erste sagen wollte. Ich hoffe damit kannst du schoneinmal etwas anfangen ;)
Gruß,
Basti


Bild Bild
Benutzeravatar
Basti
Moderator
 
Beiträge: 1774
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Re: Gästebuch Tut

Beitragvon kwd am 06.04.2008, 18:09

Huiii das ist ne Menge - bisher ist der Code im großen und Ganzen aus dem Tut übernommen (schon älter evtl.?).. dann mach ich mal die Änderungen zuerst, danke! :) (page.php ist übrigens Seitenaufteilung.php aus dem Tutorial)

/edit; schreibe mal die ganze Datei neu entweder es geht gut oder nich - so soll mans am Besten lernen oder? :mrgreen:
LG

Mona
kwd
Mitglied
 
Beiträge: 35
Registriert: 24.03.2008, 15:30
Wohnort: Niedersachsen

Re: Gästebuch Tut

Beitragvon Basti am 06.04.2008, 18:20

Nun ja, man kann ja nicht alles von Anfang an wissen, dazulernen kann man immer, selbst nach Jahren ;)

Du brauchst aber nicht direkt alles neu schreiben, die angesprochenen Änderungen lassen sich ja auch gut an der existierenden Datei vornehmen.

Die einzelnen Dateien aus dem GB Tutorial werde ich mir mal ansehen ... hätte ich ja eigentlich selbst drauf kommen können dort mal nachzusehen. Da kannst du dann ja nicht viel für wenn es so im Tutorial stand, sollte man bei Gelegenheit vielleicht etwas abändern.
Gruß,
Basti


Bild Bild
Benutzeravatar
Basti
Moderator
 
Beiträge: 1774
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Re: Gästebuch Tut

Beitragvon Eyecatcher am 06.04.2008, 18:22

Ich kann hierbei leider wieder nur von mir sprechen, aber ich finde es padagogisch nicht sinnvoll, komplette und so komplexe (jedenfalls für Neueinsteiger ^^) Funktionen komplett von einem Tutorial abzuschreiben und dann versuchen das zu verstehen. Zum Nachschlagen ist es zwar gut, aber für den Anfang machs doch einfach alles selbst, dabei lernste erst richtig was. Immerwieder schauen was gerade geht und nicht und du setzt dich automatisch mit der Thematik ausseinander. Und schau mal, die Zeit die du jetzt in die Fehlersuche und Codeoptimierung steckst, da hättest es vielleicht mit eigenen Mitteln schneller hinbekommen.
Aber ich will hier wirklich keine Tutorials verteufeln, die Dinger sind super, vorallem auf :dw: :D
Dennoch finde ich sollte man solche elementaren Sachen erstmal selber machen, und sich dann eventuell Optimierungen raussuchen!
Demnächst: php-studio.com
Benutzeravatar
Eyecatcher
Mitglied
 
Beiträge: 249
Registriert: 01.03.2008, 21:56
Wohnort: Espelkamp

Re: Gästebuch Tut

Beitragvon kwd am 06.04.2008, 18:31

Huhu,

irgendwie habt ihr beide recht.. einerseits könnte ichs nun natürlich in der vorhandenen guestbook.php abändern, andererseits wäre es wohl wirklich nicht schlecht mit dem Neuschreiben in Bezug auf pädagogisch sinnvolles (hehe :mrgreen: ) lernen.

Die Tutorials haben dennoch ihre "Daseinsberechtigung", klar, sonst würden Leute wie ich wohl nur schwer überhaupt einen Anfang finden :wink: Wobei das Verstehen an sich für mich nicht soo schwer ist, da ich ja jahrelang mit dem phpBB rumgedoktort habe, allerdings, wie gesagt - die Details, da haperts noch.. (und wenns nur ein ; oder ein . ist, also Details meine ich wortwörtlich :wink: )..auf die kommts aber ungünstigerweise an.
LG

Mona
kwd
Mitglied
 
Beiträge: 35
Registriert: 24.03.2008, 15:30
Wohnort: Niedersachsen

Re: Gästebuch Tut

Beitragvon Eyecatcher am 06.04.2008, 19:02

Ja klar aber gerade sowas wie die Syntax wird sich dir am Besten durchs reine Ausprobieren erschließen. Vom Vorteil ist natürlich ein Server der dir die Fehler anzeigt (error_reporting). Ansonsten gibts ja auch noch php.net, dort findest du ja auch viel zum Umfang der einzellnen Funktionen. Wobei ich zugeben muss, das man sich in die Schreibweise dort als Neuling auch erst einlesen muss, aber oft helfen die Kommentare oder Beispiele unter der Erklärung weiter.
Demnächst: php-studio.com
Benutzeravatar
Eyecatcher
Mitglied
 
Beiträge: 249
Registriert: 01.03.2008, 21:56
Wohnort: Espelkamp

Re: Gästebuch Tut

Beitragvon kwd am 07.04.2008, 12:57

Huhu,

ich komme einfach nicht weiter :?

Folgende Fehler bekomme ich:

Code: Alles auswählen
Warning: Division by zero in /www/htdocs/xxx/gb/page.php on line 6
Einträge gesamt:15
Zeige:1 - 0
Seite:nächste Seite »

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/htdocs/xxx/gb/index.php on line 69

Seite:nächste Seite »

(Vorsicht, wahrscheinlich noch das totale Chaos :oops: )
index.php (vorh. guestbook.php)
Code: Alles auswählen
<?php

require_once('mysql_connect.php');
require_once('page.php');
require_once('lang/german.php');

$uebergabe = mysql_query('SELECT * FROM gb ORDER BY id DESC');
$entrys = 5;

require_once('smileys.php');
require_once('umlaute.php');

$eintragen = $_POST['eintragen'];
   if ($eintragen == '2')
   {
      $name = $_POST['formname'];
         $mail = $_POST['formmail'];
         $homepage = $_POST['formhomepage'];
         $icq = $_POST['formicq'];
         $message = $_POST['formmessage'];
         }

  if (empty($name))
        {$output = ($output."$lang[1]");
        }

  if (empty($message))
        {$output = ($output."$lang[2]");
        }

if (!empty($message) && !empty($name)) {

       $message = 'umlaute($message)';
       $message = 'smileys($message)';
       if ($homepage == 'http://')
       {
         $homepage = '';
       }

       $insert = mysql_query("INSERT INTO gb (name, email, homepage, icq, message, time, ip) VALUES ('$name', '$mail', '$homepage', '$icq', '$message', '$time', '$ip')");

## falls kein Eintrag in die Datenbank erstellt wurde

       if (!$insert) {
        $output = ($output."$lang[3]");
       }

## wenn der Eintrag in die Datenbank eingetragen wurde

       else {
         $output = ($output."$lang[4]");
       }
     }

echo 'Eintr&auml;ge gesamt:';

   $output_now = mysql_query('SELECT*FROM gb ORDER BY id DESC LIMIT $start, $eintraege_pro_seite');
   $output_ges = mysql_query('SELECT*FROM gb');
   $num = mysql_num_rows($output_ges);

   echo $num;

     echo '<br />';
      echo "".$lang[5]."".$start2." - ".$ende."";
      echo "".$lang[6]."".$link_string."";
echo '<br />';
/*Ausgabe Einträge */
/*$data_result= mysql_query($data_SQL) or die(mysql_error()); */
while ($row = mysql_fetch_array($output_now)) {
     $id_ = $row['id'];
     $name_ = $row['name'];
     $email_ = $row['email'];
     $homepage_ = $row['homepage'];
     $icq_ = $row['icq'];
     $message_ = $row['message'];
     $time_ = date("d.m.Y, H:i", strtotime($row['time']));


     echo'<div align=\"center\">
       <table class=\"table\">
         <tr>
           <td class=\"titletd\"> echo $name_; </td><td style=\"text-align:right;width:200px;\"> echo $time_;  Uhr</td>
         </tr>
         <tr class=\"tr\">
           <td colspan=\"3\"> </td>
         </tr>
         <tr>
           <td colspan=\"3\" class=\"td\"> echo $message_; </td>
         </tr>
         <tr>
           <td colspan=\"3\"> </td>
         </tr>
         <tr class=\"tr\">
           <td class=\"td\"> if(!empty($email_) || !empty($homepage_) || !empty($icq_)) </td>
         </tr>
       </table>
     </div>
     <br />';

   }
   echo '<br />';
   echo "".$lang[6]."".$link_string."";
?>


page.php (im Tut Seitenaufteilung.php)
Code: Alles auswählen
<?php

   $gesamt =  $uebergabe;
   $eintraege_pro_seite = $entrys;

   $num_sites = ceil($gesamt/$eintraege_pro_seite);

   if(empty($_GET['site'])) {
     $site = 1;
   }

   elseif($_GET['site'] <= 0 || $_GET['site'] > $num_sites) {
     $site = 1;
   }

   else {
     $site = $_GET['site'];
   }

   $links = array();

   if($site != 1) {
     $prev = $site-1;
     $links[] = "<a href=\"".$_SERVER['PHP_SELF']."?site=".$prev."\">« vorige Seite</a>";
   }

   for($i=1;$i<=$num_sites;$i++) {
     if($i == $site) {
       $links[] = $i;
     }
     else {
       $links[] = "<a href=\"".$_SERVER['PHP_SELF']."?site=".$i."\">".$i."</a>";
     }
   }

   if($site != $num_sites) {
     $next = $site+1;
     $links[] = "<a href=\"".$_SERVER['PHP_SELF']."?site=".$next."\">nächste Seite »</a>";
   }

   $link_string = implode(" | ", $links);
   $start = ($site-1)*$eintraege_pro_seite;
   $start2 = $start+1;
   $ende = $start+$eintraege_pro_seite;

?>


insert.php
Code: Alles auswählen
<?php
require_once "mysql_connect.php";


#########################
##  Seitenaufteilung   ##
#########################


   $uebergabe =  mysql_query("SELECT * FROM gb ORDER BY id DESC");
   $entrys = 5;  // Anzahl der dargestellten Beiträge pro Seite

   require_once "page.php"; // hier wird das Script für die Seitenaufteilung inkludiert
   require_once 'lang/german.php';
   ?>
<html>
<head>
<link rel="stylesheet" href="design.css" type="text/css">
</head>
<body>

<form name="gb" method="post" action="index.php">
  <table border="0">
    <tr>
      <td>
        <table width="250" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td colspan="2"> </td>
          </tr>
          <tr>
            <td>Name*:</td>
            <td><input name="formname" type="text" id="formname" maxlength="30" /></td>
          </tr>
          <tr>
            <td>E-Mail:</td>
            <td><input name="formmail" type="text" id="formmail" maxlength="30" /></td>
          </tr>
          <tr>
            <td>Homepage:</td>
            <td><input name="formhomepage" type="text" id="formhomepage" value="http://" maxlength="30" /></td>
          </tr>
          <tr>
            <td>ICQ:</td>
            <td><input name="formicq" type="text" id="formicq" maxlength="30" /></td>
          </tr>
          <tr>
            <td colspan="2"> </td>
          </tr>
        </table>
      </td>
      <td>Nachricht*:</td>
      <td><textarea name="formmessage" rows="20" id="formmessage"></textarea></td>
      <td>
        <table border="0">
          <tr>
            <td><a href="javascript:AddText(':)');"><img src='guestbook/smile.gif' border="0" alt="" /></a></td>
          </tr>
        </table>
      </td>
    </tr>
    <tr>
      <td colspan="2"> </td>
      <td><input type="submit" name="Submit" value="Eintragen"><input type="reset" name="Submit2" value="Leeren"><input name="eintragen" type="hidden" value="2"></td>
    </tr>
  </table>
</form><br />
<a href="index.php">Zur&uuml;ck zum G&auml;stebuch</a>

   <p style="text-align:right;font-size:9px;">
     mit * markierte Felder müssen ausgefüllt werden
   </p>
   <hr align="right" noshade="noshade" />

   </body>
   </html>


Bzgl.
Code: Alles auswählen
Warning: Division by zero in /www/htdocs/xxx/gb/page.php on line 6
habe ich schonmal heraus gefunden, das er diesen Fehler ausgibt, wenn "eine Rechnung nicht aufgehen kann" - dennoch verstehe ichs nicht, denn die page.php habe ich nun gar nicht verändert und vorher erschiens ihm doch auch logisch?!

Bzgl. des 2. Fehlers habe ich absolut keine Ahnung was falsch sein könnte.

Auch sieht man das wieder irgendwie falsch gezählt wird:
Einträge gesamt:15
Zeige:1 - 0


Änderung in der index.php: ich habe das JS weggelassen, evtl. habe ich noch nicht alle Stellen erwischt, die das JS aufrufen wollen?
LG

Mona
kwd
Mitglied
 
Beiträge: 35
Registriert: 24.03.2008, 15:30
Wohnort: Niedersachsen

Re: Gästebuch Tut

Beitragvon Eyecatcher am 07.04.2008, 14:34

Code: Alles auswählen
Warning: Division by zero in /www/htdocs/xxx/gb/page.php on line 6

Seit Mathe 6 Klasse wissen wir ja, dass man nicht durch 0 teilen darf ;)
Lösung:
Code: Alles auswählen
if($eintraege_pro_seite > 0)
    $num_sites = ceil($gesamt/$eintraege_pro_seite);
else
    $num_sites = 1;

Wenn du den Code aus irgendeinem Tutorial hast, würd ich aber eher mal überprüfen warum $eintraege_pro_seite überhaupt 0 ist/wird, ich denke da steckt der Fehler, der dann gleichzeitig auch auf deinen zweiten Fehler hinspielt...
Demnächst: php-studio.com
Benutzeravatar
Eyecatcher
Mitglied
 
Beiträge: 249
Registriert: 01.03.2008, 21:56
Wohnort: Espelkamp

Re: Gästebuch Tut

Beitragvon kwd am 09.04.2008, 12:06

Huhu,

genau das verstehe ich ja nicht :?

Auszug page.php:

Code: Alles auswählen
<?php

   $gesamt =  $uebergabe;
   $eintraege_pro_seite = $entrys;


Auszug index.php:
Code: Alles auswählen
<?php

require_once('mysql_connect.php');
require_once('page.php');
require_once('lang/german.php');

$uebergabe = mysql_query('SELECT * FROM gb ORDER BY id DESC');
$entrys = 10;


Aus irgendeinem Grunde kommt er aber auf 0.. auf der index.php zeigt er auch nach wie vor

Einträge gesamt:15
Zeige:1 - 0
Seite:1


und ich habe keine Ahnung, warum :(

Die Dateien sind, wie gesagt, aus dem Tutorial:
http://www.der-webdesigner.net/tutorial ... r_gb1.html

wobei die index.php (im Tut. guestbook.php) ja nun geändert ist. Also muss ich da irgendwo nen Fehler gemacht haben. Der Zero-Fehler ist weg, dankeschön :)

/edit: 1 Fehler ist weg, nun kommt "Zeige 1-5", der MySQLFehler kommt aber immernoch. *weitersuch*
LG

Mona
kwd
Mitglied
 
Beiträge: 35
Registriert: 24.03.2008, 15:30
Wohnort: Niedersachsen

Re: Gästebuch Tut

Beitragvon Eyecatcher am 09.04.2008, 13:14

Ähhh ja!?
Code: Alles auswählen
require_once('mysql_connect.php');

$uebergabe = mysql_query('SELECT * FROM gb ORDER BY id DESC');
$entrys = 10;

require_once('page.php');
require_once('lang/german.php');


Versuchs mal so :P
Demnächst: php-studio.com
Benutzeravatar
Eyecatcher
Mitglied
 
Beiträge: 249
Registriert: 01.03.2008, 21:56
Wohnort: Espelkamp

Re: Gästebuch Tut

Beitragvon kwd am 09.04.2008, 14:13

äääh ja siehe edit :mrgreen: Den hatte ich bereits gefunden :oops: :mrgreen:

/edit; Fehler gefunden. Das "n" zeigt er in Einträgen allerdings immernoch nicht an und S.3 kennt er nicht *seufz* Wie kam ich eigtl. auf die Idee das lernen zu wollen? :staun: :mrgreen:
LG

Mona
kwd
Mitglied
 
Beiträge: 35
Registriert: 24.03.2008, 15:30
Wohnort: Niedersachsen


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste