Autor Zpráva
Hava
Profil *
Ahoj

mam nasledujici problem:
Mam formular napr. se tremi vstupnimi policky. Z toho dve jsou prazde a to treti (nadpis) je predvyplnene hodnotou, kterou nacitam pomoci
$nadpis=$_GET["nadpis"];

Dale pak mam formular osetren tak aby byli vyplneny vsechny udaje jinak ze se musi dovyplnit, a to je prave ten problem protoze kdyz se formular odesle a neni vse vyplneno, tak ja pak stracim promenou $nadpis, kterou jsem ziskal pomoci Get a policko pak nemam predvyplnene protoze tu hodnotu nezna. Mohl by mi nekdo poradit jak udelat aby tam ta hodnota byla porad?

Moc deji
AM_
Profil
A proč jí ztrácíš? Mě se proměnné nikdy neztrácely, ikdyž uživatel něco nevyplnil. Jestli si jí přepisuješ, tak si jí nesmíš přepisovat - použij jinou.
Hava
Profil *
No kdyz ji ziskam pomoci tohoto
$nadpis=$_GET["nadpis"];
a ve formulari mam pak toto pole:
<input  name="nadpis" value="<?php echo "".$nadpis.""; ?>">
, tak po odeslani formulare se spatne vyplnenymi hodnotami mi to skonci hlaskou v kolonce input: <br /><b>Notice</b>: Undefined variable: nadpis in <b>C:\wamp\www\888\zadej_odpoved.php</b> on line <b>88</b><br />.
Protoze uz ji asi neprebere pomoci Get z predchozi stranky, ale jak mam tedy udelat aby tam byla porad?
AM_
Profil
"".$nadpis.""
jaký má smysl to připojení prázdných řetězců?

tak
$nadpis = isset($_GET['nadpis']) ? $_GET['nadpis'] : '';
Hava
Profil *
No takhle mi to sice nevyjede tu chybu ze nezna promenou ale taky ji tam pak nemam predvyplnenou, potreboval bych to udelat tak aby $nadpis mel porad tu samou hodnotu jako kdyz si ji prevezme na zacatku a aby mu zustala i po odeslani formulare at spatne nebo dobre vyplneneho.
Musilda
Profil
Hava
<input name="nadpis" value="<?echo $_GET["nadpis"]?>">
kajaman
Profil
Musilda
no takhle to už přece měl původně...

Hava
dej sem celej skript....
Hava
Profil *
<?php
   $nadpis = isset($_GET['nadpis']) ? $_GET['nadpis'] : '';
$BudemeZobrazovat=true;
  
  
  
  if (isSet($_POST["odeslano"])) // tak už se odesílalo a musíme kontolovat
  {
  echo "".$_POST["nadpis"]."";
    if (strlen($_POST["vzkaz"])==0 || strlen($_POST["vzkaz"])>700 || strlen($_POST["jmeno"])==0 || strlen($_POST["email"])==0)
    {
    
      // kontrolou jsme neprošli
      echo "Nevyplnili jste všechny údaje a nebo je vzkaz příliš velký!";
    }
    else
    {
      // kontolou jsme prošli
        $BudemeZobrazovat=false;
        ?>
        
        <?php 
        
        echo "".$_POST["nadpis"]."";
        include "odesli_odpoved.php"?>
         <?php
}
  }
if ($BudemeZobrazovat):
?>
<p class="nadpis1"><b>Přidat příspěvek k tomuto tématu:</b></p>
  <form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>">
  <table class="tabulka_forum">
    <tr>
      <td class="text_jmeno">Jméno:</td>
      <td><input size="25" name="jmeno" cols="25" value="<?php if (isSet($_POST['jmeno'])) echo $_POST['jmeno'];?>"></td>
    </tr>
    <tr>
      <td class="text_jmeno">Email:</td>
      <td><input size="25" name="email" cols="25" value="<?php if (isSet($_POST['email'])) echo $_POST['email'];?>"></td>
    </tr>
    <tr>
      <td class="text_jmeno"></td>
      <td><input  name="nadpis" value="<?php echo "".$nadpis.""; ?>"></td>
    </tr>
    <tr>
      <td class="text_jmeno">Váš vzkaz:</td>
      <td><textarea rows="6" name="vzkaz" cols="40"><?php if (isSet($_POST['vzkaz'])) echo $_POST['vzkaz'];?></textarea></td>
    </tr>
  </table>
        <!--! Zacatek ochrany proti spamu-->
      <noscript>
        <label title="Vyplňte výsledek součtu těchto dvou čísel (ochrana před roboty)">
            Kolik je <?php echo $first." + ".$second ?>:
            <input type="text" name="spamCheck" size="10" />
        </label>
        <br /><br />
    </noscript>
    <script type="text/javascript">
    /* <![CDATA[ */
        spamcheck = document.createElement( 'input' );
        spamcheck.setAttribute( 'type', 'hidden' );
        spamcheck.setAttribute( 'name', 'spamCheck' );
        spamcheck.setAttribute( 'value', <?php echo $first ?> + <?php echo $second ?> );
        document.getElementById( 'myform' ).appendChild( spamcheck );
    /* ]]> */
    </script>
    <input type="hidden" name="numbers" value="<?php echo $first.$second ?>" />
    <!--! konec ochrany proti spamu-->

      <input type="hidden" name="odeslano" value="true">
      
      <input type="Submit" name="odeslat" value=">> Uložit">
  </form>
<?php endif;?>
Mastodont
Profil
$nadpis = isset($_GET['nadpis']) ? $_GET['nadpis'] : '';
....
echo "".$_POST["nadpis"]."";


Když ten formulář odesíláš POSTem, tak proč GET?
Hava
Profil *
Ale prvne tu hodnotu ziskavam pomoci Get pouze kdyz je formular odeslan tak pak je post ale nevim jak to udelat aby tam byla pokazde ta sama hodnota?
AM_
Profil
Tak jí zřejmě musíš přenášet v nějakém skrytém poli formuláře.
Hava
Profil *
Diky vsem uz sem to vyresil skyte pole sem mel na mysli ale zkousel sem si jestli se mi opravdu prenese, nakonec stacilo pridat do podminky toto:
$nadpis=$_POST["nadpis"];

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: