vorschau

Franz

Erfahrenes Mitglied
ich habe ein dateibasierendes gästebuch und jetzt möchte ich, dass man den betrag zuerst über eine vorschau überprüfen kann

wie geht das? ich schicke den eintrag auf eine seite aber speichere nicht.
komme bei dem code aber leider nicht weiter...
kann mir jemand ein bsp posten?
 
ein bsp habe ich auch nicht, aber es wäre eine Möglichkeit, die Neueinträge / Änderungen zunächst in eine andere Textdatei zu setzen.
D.h., in diese 2. Textdatei zunächst die originale Textdatei einlesen und anschließend den neuen (Vorschau)Beitrag anfügen.
Wenn Vorschau ok, --> schreib neuen Beitrag in die richtige Datei, lösche 2. Datei, fertig.
Hilft Dir das weiter?
Gruß
Micha
 
hideho
also ich find des mit der 2ten datei umständlich!!!!
machs halt so dass wenn man auf vorschau klickt dass dann die eingaben einfach ausgegeben werden
also so:
PHP:
   <?  
     echo"$name";
     echo"$eintrag";
     //hier dann ein html teil 
   ?>
    //der submit button zum endgültigen eintragen der daten
   <form action="eintragen.php" method="">
   <input type="submit" value="Eintragen">
   </form>
   //der link zurück zum verbessern
   <a href="zurück zur seite wo eingetragen wird">Eingaben    verbessern</a>
   <? 
      //weiter mit php
      if($submit){die ganzen sachen eintragen};
   ?>
also die anderen benötigten scripte(das eingabe formular usw.) sowie die sachen die zu machen sin hab ich jetzt einfach weg gelassen aber ich hoffe du verstehst es auch so...
bis dann
cu euer
JIMBO
 
eventuell ist es günstig, einfach ein zweites form zu erstellen, welches nur aus hidden-inputs und dem "zurück" und "submit"-button besteht.

sämtliche übergebenen variablen werden auf diese weise "weiterübergeben".
zusätzlich wird die variable $store mit dem Wert "yes" übergeben, was dem script mitteilt, dass der Eintrag diesmal gespeichert werden soll

PHP:
<form action="gbook.php" method="post">
 <input type="hidden" name="nickname" value="<?php echo $name ?>">
 <input type="hidden" name="email" value="<?php echo $email ?>">
 <input type="hidden" name="text" value="<?php echo $text ?>">
 ...
 <input type="hidden" name="store" value="yes">
 
 <!-- Anzeige des Eintrags -->
 <?php
 echo $nickname."<br>";
 echo $text;
 ?>
 Wirklich eintragen?
 
 <button type="button" value="[zurück]" OnClick="javascript:history.go(-1)">[zurück]</button>&nbsp;
 <button type="submit" value="[eintragen]">[eintragen]</button>
</form>
 
Zuletzt bearbeitet:
99% verlässlichkeit?

is die history.go(-1) funktion eigentlich zuverlässig?? ich meine z.b. beim netscape 4
oder opera 4 oder so?


also ich habe sowas lieber mit ein bisschen mehr aufwand mal programmiert, weil ich davon lieber nicht ausgehe, dass beim history.go(-1) die eingegebenen daten noch vorhanden sind!

ich hab das ursprungs-form dann lieber nochmal selber gefüllt!
 
stimmt schon, wadde sachst

wenn man aus der Vorschau heraus z.B. nen Link in nem neuen Fenster öffnet und dann die Zurück-Funktion verwendet, hat er den inhalt der FORMs verloren.
Ansonsten ist er genau so zuverlässig wie der zurück-Button im Browser.

für deine Variante bräuchte man dann 2 Forms, jeweils eins, um zurück zur eingabe zu gelangen und eins, um (wie oben beschrieben) den Eintrag entgültig zu posten.
über <a href> würde ich das nicht lösen, da u.A. der $text dann als Teil der URL übergeben werden muss, was durch Sonderzeichen und Überlänge zu Problemen führt.
z.B. bei megagrossen Reporteinträgen ;)
 
Zuletzt bearbeitet:
jab :)

wo wir grad dabei sind: kann man eigentlich das method=post vom form auch immitieren? ich mein jetzt nich mit cookies. das form muss es doch auch irgendwie machen, warum sollte das nich auch per hand gehn, habs aber bisher noch nich rausgefunden. es mussten immer die hidden-inputs herhalten

btw gruß nach dresden :)
 
ich würde das so machen:

1.) Formular zur Dateneingabe

2.) bei Klick auf Submit kommt eine vom Script erzeugte Seite, die zunächst den Eintrag formatiert darstellt, und direkt untendrunter ist nochmal das Formular, mit den zuersteingetragenen Werten

(also z.B. <INPUT TYPE="text" NAME="username" VALUE="<?PHP echo $username; ?>"> )

3.) in das zweite Formular noch ein <INPUT TYPE="hidden" NAME="confirm" Value="y">. Wenn dann das zweite Formular abgesendet wird wird der Eintrag erzeugt.
Dazu dann im Script:
PHP:
if ($confirm=="y") {
   //eintragen
} else {
   //Vorschau
}


Dunsti
 

Neue Beiträge

Zurück