• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Vorschau Modus

Status
Für weitere Antworten geschlossen.

Mars@Gera

Mitglied
habe ein Problem, mein Vorschau Modus funktioniert nicht, warum nicht?
PHP:
<?php
error_reporting(E_ALL);
?>
<html>
<head>
<title>G&auml;stebucheintrag schreiben</title>
<style type="text/css">
body, table, form, p {font-family: Arial}
</style>
<meta name="author" content=".*.*.">
</head>
<body text="#000000" bgcolor="#8dc7c7" link="#000000" alink="#000000" vlink="#000000">
<div align="center">
<table border="1" style="width:500px">
    <tr>
             <td>
                     <h1 style="text-align:center">Mein G&auml;stebuch</h1>
                         <?php
                         if (!empty($fehler)) {
                             $anzeigen = false; // keine Anzeige des Gästebuchs
                                 echo "<p><b>Leider wurde Ihr Beitrag nicht angenommen werden:</b></p>";
                                 echo "<ul>$fehler</ul>";
                            } elseif ($status == "Vorschau") {
                                $anzeigen = false; // keine Anzeige, da Vorschau
                             $datum = date("\a\m j.n.Y \u\m H:i");
                            ?>
               <h3>So sieht Ihr Eintrag derzeit aus:</h3>
                            <hr noshade width="150">
                            <p><?php htmlentities($eintrag) ?></p>
                            <p>
                            <small><b><?php htmlentities($autor).". $datum" ?></b></small>
                            </p>
                            <hr width="150px" noshade>
                            <p>
                                <b>Um Ihren Beitrag zu bearbeiten, benutzten Sie bitte das Formular.</b>
                            </p>
                            <?php
                            } elseif ($status == "Eintragen") {
                                $query = "INSERT INTO guestbook SET
                                 datum = now(),
                                 eintrag ='".addslashes($eintrag)."',
                                 autor = '".addslashes($autor)."'
                                 ";
                                 $sql = mysql_query($query)
                                     or die(mysql_error());
                            }
                            if ($anzeigen) {
                                $query = "SELECT DATE_FORMAT(datum,'am %e. %c. %Y um
                                     %k:%i') AS datum, eintrag, autor FROM guestbook
                                         ORDER BY datum DESC";
                $sql = mysql_query($query)
                                     or die(mysql_error());
                                 while ($ds = mysql_fetch_object($sql)) {
                                     $eintrag = $ds->eintrag;
                                         $autor = $ds->autor;
                                         $datum = $ds->datum;
                            ?>
                            <p><?php format($eintrag) ?></p>
                            <p><small><b><?php htmlentities($autor).". $datum" ?></b></small></p>
                            <hr width="150px" nosheade>
                            <?php
                                    }
                                unset($eintrag,$autor);
                            }?>
                         <form action="guestbook.php" method="post">
            <p>
                <small><b>Ihr Eintrag (maximal <?php $grenzwert ?> Zeichen):</b></small><br>
                     <textarea style="width:500px; height:240px" name="eintrag"><?php htmlentities($eintrag)?>
                                 </textarea>
            </p>
            <p>
                <small><b>Ihr Name:</b></small><br>
                     <input style="width:500px;" type="text" maxlength="50" name="autor" value="<?php htmlentities($autor)?>">
            </p>
            <p>
                <input type="submit" name="status" value="Vorschau">
                     <input type="submit" name="status" value="Eintragen">
            </p>
            </form>
                 </td>
         </tr>
</table>
</div>
</body>
</html>

MfG Marcel
 
probiers mal so ;) :
PHP:
  <p><?php echo htmlentities($eintrag); ?></p>
                            <p>
                            <small><b><?php echo htmlentities($autor)." ". $datum; ?></b></small>

wenn kein echo hast wird nichts ausgegeben :D

; nicht vergessen
 
Ok, da habe ich schonmal 1 Problem weniger

ich habe diese andere Datei per
PHP:
include_once "";
hinzugefügt
PHP:
<?php
error_reporting(E_ALL);

//Konfigurierungsdatei laden
include ('../inc/mysql.php');

function PostVar($variablen_name) {
    $ergebnis = $_POST[$variablen_name];
         if (get_magic_quotes_gpc()) $ergebnis =
             stripslashes($ergebnis);
         return trim($ergebnis);
}

function format ($text) {
    $ergebnis = htmlentities($text);
         $ergebnis = str_replace("\r\n\r\n"."<br><br>".$text);
         return $ergebnis;
}

$eintrag = POSTVAR("eintrag");
$autor = POSTVAR("autor");
$status = $_POST['status'];

$grenzwert = 1000;
$anzeigen = true;
$fehler = "";

if (empty($eintrag)) $fehler .= "<li>Der Eintrag ist leer</li>";
if (empty($autor)) $fehler .= "<li>Sie haben keinen Namen eingetragen</li>";
if (strlen($eintrag) > $grenzwert) $eintrag =
    substr($eintrag,0,$grenzwert);
if (!strpos($eintrag, " ") || strpos($eintrag, " " > 60))
    $eintrag = wordwrap($eintrag, 60, " ", 1);
?>
und in der
PHP:
<form action="" method="post">
die action herausgenommen, dann funktioniert es, ansonsten nicht.

Lade ich die Seite so wie sie ist, dann erfolgt dieses Prolem:
a.) wenn ich die Seite aufrufe erscheint die
PHP:
if (!empty($fehler))
anzeige und
b.)
HTML:
Notice:  Undefined index:  eintrag in C:\Programme\xampp\htdocs\gaestebuch\src\guestbook.php on line 8

Notice:  Undefined index:  autor in C:\Programme\xampp\htdocs\gaestebuch\src\guestbook.php on line 8

Notice:  Undefined index:  status in C:\Programme\xampp\htdocs\gaestebuch\src\guestbook.php on line 22
guestbook.php ist die include_once datei

Hoffe konnte mein Problem schildern
 
was mir grad noch aufgefallen ist, glaub die Klammer gehört ein bisschen weiter vor :
PHP:
...
if (!strpos($eintrag, " ") || strpos($eintrag, " ") > 60)
...

PHP:
<form action="<?=$_SERVER['PHP_SELF']?>" ...

Setzt ein if ( isset($_POST['status']) ) um dein Vorschau-Code, denn er wird ja sonst auch ausgefürt, wenn du gar keine Vorschau willst und dann gibts natürlich die POST Variablen auch nicht ;)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben