[php+html] dwa submity na formularzu

0

Witam :)
Jestem w trakcie tworzenia pewnego serwisu, zaszła potrzeba w jakimś formularzu (np. przy forum) dać nie tylko submita 'Wyślij', ale także 'Podgląd'. Więc wrzuciłem te 2 submity i je nazwałem kolejno 'submit' i 'podglad', zresztą macie kawałek kodu (okroiłem go jakby co):

<?php
if($_GET['show'] == 'wyslij') {
// wyślij
}
if($_GET['podglad'] == 'tak' && $_GET['show'] != 'wyslij') {
    echo '<u>'.$_POST['tresc'].'</u><p />'; // wyświetlamy podgląd
}
?>
<form action="xxx.php?show=wyslij" method="post">
  <textarea name="tresc">'.$_POST['tresc'].'</textarea><br />
  <input type="submit" name="submit" style="width:50px" value="Wyślij" />
  <input type="submit" name="podglad" value="Podgląd" />
</form>

Plik xxx.php. A więc ten kod wyświetla formularz z dwoma submitami; akcja formularza odbywa się w show równym 'wyslij'.
Jednak jak zrobić, że jeśli adres będzie taki: xxx.php?podglad=tak, wyświetli się podgląd z zawartością textarey 'tresc'?

Macie jakieś pomysły? [browar]
BTW: zauważyłem, że w większości serwisów, adres byłby analogicznie xxx.php, jednak u mnie takie coś odpada...

0
if($_GET['podglad'] == 'tak' && $_GET['show'] != 'wyslij') {
    echo '<u>'.$_POST['tresc'].'</u><p />'; // wyświetlamy podgląd
}
?>
<form action="xxx.php?show=wyslij" method="post">

co to za kod ?

  1. sprawdaj tylko : if($_GET['podglad'] == 'tak' a nie show wyslij
  2. <from action="xxx.php"> a nie ?show=wyslij

i o co dokladnie chodzi z ta strona xxx.php ? do jakiej strony chcesz to przekierowac ?

0

Hmm... Kod pisałem z pamięci :)

wwww2 napisał(a)
if($_GET['podglad'] == 'tak' && $_GET['show'] != 'wyslij') {
    echo '<u>'.$_POST['tresc'].'</u><p />'; // wyświetlamy podgląd
}
?>
<form action="xxx.php?show=wyslij" method="post">

co to za kod ?

  1. sprawdaj tylko : if($_GET['podglad'] == 'tak' a nie show wyslij

Ale show właśnie nie może równać się 'wyslij' (bo wtedy wyśle się wiadomość, a nie ma - ma być tylko podgląd).

wwww2 napisał(a)
  1. <from action="xxx.php"> a nie ?show=wyslij
    i o co dokladnie chodzi z ta strona xxx.php ? do jakiej strony chcesz to przekierowac ?

xxx.php to tylko przykład. xxx.php - to strona z tym formularzem, w niej odbywa się akcja, w niej zostanie wyświetlony podgląd itp.

To jak to w końcu zrobić? Moze kawałek kodu jakiś? :) Bo jakoś tego nigdy nie robiłem.
Chciałem jeszcze przerobić submit 'Podgląd' na zwykłego buttona z onclickiem window.location.href='index.php?podglad=tak', ale rzecz jasna nie działa podgląd prawidłowo.

0
$form=true;
if(isset($_GET['podglad'])) {
    echo '<u>'.$_POST['tresc'].'</u><p />'; // wyświetlamy podgląd
} else {
 //funkcja zapisująca dane
$form=false;
}

if ($form){
echo '<form action="xxx.php?show=wyslij" method="post">
  <textarea name="tresc">'.$_POST['tresc'].'</textarea><br />
  <input type="submit" name="submit" style="width:50px" value="Wyślij" />
  <input type="submit" name="podglad" value="Podgląd" />
</form>';
}

spróbuj tak

0
nul napisał(a)

spróbuj tak

hmm... nie działa?
Może ma ktoś jakiś przykładzik? :)


OK, już sobie poradziłem :d

<?php

if($_GET['show'] == 'wyslij')
{
    if($_POST['submit'])
   {
      // wyślij
    }
   elseif($_POST['podglad'])
   {
       echo '<u>'.$_POST['tresc'].'</u><p />'; // wyświetlamy podgląd
   }

}
?>
<form action="xxx.php?show=wyslij" method="post">
 <textarea name="tresc">'.$_POST['tresc'].'</textarea><br />
 <input type="submit" name="submit" style="width:50px" value="Wyślij" />
 <input type="submit" name="podglad" value="Podgląd" />
</form>

1 użytkowników online, w tym zalogowanych: 0, gości: 1