Autor Zpráva
JimmyCz
Profil
Ahoj.
Potřeboval bych pomoct s kodem, protože si nevím radit.
Takže jedná se o update informací nebo-li nastavení profilu.

Mám funkci update_user
function update_user($update_data) {
       global $session_id;
       $update = array();
       array_walk($update_data, 'array_sanitize');
 
       foreach($update_data as $field=>$data){
           $update[] = '`' . $field . '` = \'' . $data . '\'';
        }

        
       mysql_query("UPDATE `uzivatele` SET " . implode(', ', $update) . " WHERE `id` = $session_id");   
}

Pak mám celý kod i s formulářem

<?

if (empty($_POST) === false) {
    $required_fields = array('email');
      foreach($_POST as $key=>$value) {
        if (empty($value) &&  in_array($key, $required_fields) === true) {
              $errors[] = '<span style="color:red"><center>Pole označená hvězdičkou jsou povinná!</center></span>';
              break 1;
        }
    }
    if (empty($errors) === true) {
         if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
              $errors[] = '<span style="color:red"><center>Váš email je neplatný!!</center></span> ';
         } else if(email_exists($_POST['email']) === true && $user_data['email'] !== $_POST['email']) {
              $errors[] = '<span style="color:red"><center>Omlouváme se,ale  email:<b> \'' . $_POST['email'] . '\'</B> je již používán!</center></span> '; 
         }      
    }
}

if (isset($_GET['success']) === true && empty($_GET['success']) === true)    {
    echo '<span style="color:green"><center>Váš profil byl úspěšně změněn!</center></span>';    
} else {
if (empty($_POST) === false && empty($errors) === true) {
    $update_data = array(
      'jmeno'    => $_POST['jmeno'],
      'prijmeni' => $_POST['prijmeni'],
      'email'    => $_POST['email'],
      'narozeni' => $_POST['narozeni'],
      'web'      => $_POST['web'],
      'necoome'  => $_POST['necoome']
    );
    
    update_user($update_data);
    header('Location: settings?success');
    exit();
    
} else if (empty($errors) === false) {
   echo output_errors($errors);
    
}

?> 
       <div id="registrace"> 
<h2 class="registrace" style="color:Red">Nastavení profilu</h2>
                                  
  <form action="" method="post" id="settings">
  
  

<table class="useredit" id="useredit">
<!--Heslo-->
<tbody>
<tr>
  <th width="30%" valign="top">Jméno</th>
  <td width="80%"><input class ="registr" type="text" maxlength="20" size="20" name="jmeno" value="<? echo $user_data['jmeno']; ?>">&nbsp;<small>(Min. 4 znaky - Max. 20 znaků)</small></td>
</tr>
<tr>
  <th valign="top">Příjmení</th>
  <td><input class ="registr" type="text" maxlength="20" size="20" name="prijmeni" value="<? echo $user_data['prijmeni']; ?>">&nbsp;<small>(Min. 4 znaky - Max. 15 znaků)</small></td>
</tr>
<tr>
  <th valign="top"> <b><span style="color:red">*</span>Email</b></th>
  <td><input class ="registr" type="text" maxlength="20" size="20" name="email" value="<? echo $user_data['email']; ?>"></td>
  
</tr>
  <th valign="top"><b>Datum narození</b></th>
  <td><input class ="registr" type="text" maxlength="20" size="20" name="narozeni" value="<? echo $user_data['narozeni']; ?>"></td>
</tr>
<tr>
  <th valign="top"><b>Webová stránka</b></th>
  <td><input class ="vlastni" type="text" maxlength="35" size="30" name="web" value="<? echo $user_data['web']; ?>">&nbsp;<small>(Max. 35 znaků)</small></td>
</tr>
<tr>
  <th valign="top"><b>Něco o mě</b></th>
  <td><textarea class ="vlastni" type="area" maxlength="200" rows="6" cols="35" name="necoome"  form="settings"><? echo $user_data['necoome']; ?></textarea>&nbsp;<small>(Max. 200 znaků)</small></td>
</tr>
</tbody></table>
<center> <input type="submit" class="tlacitko" value="Upravit profil"> </center>
</div>
        
  
  
  </form><?     
}
?>

A zde přichází má otázka. Jak do tohoto kódu přidělat to, aby když je nějaký INPUT prázdný aby to nastavilo TEXT který napíši já čili,aby to po odeslání do DB nezůstalo prázdne ale aby tam bylo třeba "Neuvedeno".
Taps
Profil
JimmyCz:
  <td><textarea class ="vlastni" type="area" maxlength="200" rows="6" cols="35" name="necoome"  form="settings"><?  if($user_data['necoome']==''){echo 'neuvedeno';} else{ echo $user_data['necoome']}; ?></textarea>&nbsp;<small>(Max. 200 znaků)</small></td>
tiso
Profil
Taps: toto robí niečo iné.
JimmyCz: zvolil si si zlú možnosť, správne riešenie je nechať v DB prázdne pole a "Neuvedeno" pridávať až na výstupe.

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:

0