Autor Zpráva
holi
Profil
Princip je jednoduchý, mám formulář se submitem který odesílá id obsahu přečteného z databáze, k tomu vygeneruje okno s absolutním pozicováním, ve kterém je tabulka s formulářem na úpravu obsahu, jenže když dám tlačítko uložit tak se to neuloží, zkoušel jsem tam vytisknout text nebo alert javascriptem ale nic z toho se neprovedlo.
<?php
//script na výpis 
    $x = 1;
      while($zaznam=MYSQL_Fetch_Array($vysledek)){
        echo '<form method="POST">';
        echo '<tr>';
        echo '<td>'.$x.'.</td>';
        echo '<td>'.$zaznam['mac'].'</td>';
        echo '<td>'.$zaznam['ip'].'</td>';
        echo '<td>'.$zaznam['port'].'</td>';
        echo '<td width="30"><input type="submit" name="upravit" value="Upravit"></td>';
        echo '<td width="30"><input type="submit" name="smazat" value="Smazat"></td>';
        echo '<td width="30"><input type="submit" name="wake_save" value="Vzbudit"></td>';
        echo '<input type="hidden" name="name" value="'.$zaznam['id'].'">';
        echo '</tr>';
        echo '</form>';
        $x++;
      }

//generovaný formulář ... Absolutně pozicovaný nad stránkou
  if(!empty($_POST['upravit'])){
    $name = $_POST['name'];
    if(empty($POST['close'])){
      echo '<form method="POST" class="pozadi">';
      echo '<div class="ab_oblast">';
      echo '<table style="margin: 0 auto; margin-top: 100px;">';
      echo '<tr><td>Zadejte novou IP Adresu: </td><td><input name="new_ip"></td><tr>';
      echo '<tr><td>Zadejte novou MAC Adresu: </td><td><input name="new_mac"></td><tr>';
      echo '<tr><td>Zadejte nový Port: </td><td><input name="new_port"></td><tr>';
      echo '<tr><td colspan="2"><input type="submit" name="resave" value="Uložit"><input type="submit" name="close" value="Storno"></td><tr>';
      echo '</table>';
      echo '</div>';
      echo '</form>';
      if(!empty($_POST['resave'])){
        mysql_query("UPDATE ".PREFIX."wol SET ip = '".$_POST['new_ip']."', mac = '".$_POST['new_mac']."', port = '".$_POST['new_port']."'  WHERE id = '".$name."'") or die ("Nelze uložit, protože ". mysql_error());
      }
    }
  }
  ?>
Tori
Profil
Ukládání druhého formuláře je uvnitř podmínky
if(!empty($_POST['upravit']))
, ale ve formuláři není pole toho jména, takže se (zcela správně) nic neuloží.
Také by neuškodilo ošetřit data, která ukládáte do databáze (funkce mysql_real_escape_string(), intval() ).
holi
Profil
Tori:
Ukládání druhého formuláře je uvnitř podmínky

Ano to je správně ... chci aby to okno vyzkočilo po kliknuti .. ta podmínka
if(!empty($_POST['upravit']))
je kontrola stisknutého tlačítka, protože script provádím lokálně v jednom souboru.
Tori
Profil
Jistě, ale po odeslání [druhého] formuláře neexistuje klíč $_POST[upravit], protože v tom formuláři prostě takové pole není. Tzn. potřebujete dát ukládání do DB mimo zmíněnou podmínku.
holi
Profil
Aha to jsem si neuvědomil, tak díky zkusím nad tím popřemýšlet

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: