Autor Zpráva
Josef Přerovský
Profil
Zdravím, mám takový problém.
Vždy když dám 1 možnost, jako třeba "Viditelná registrace" na neviditelný, tak se mi to uloží u obou jak u emailu, tak u registrace.
Poradí někdo co s tím? :)

<?php
if(isset($_SESSION['user'])) {
if($_GET['id']) {
$id = $_GET['id'];
if($_GET['id']==$user['id'] or $user['level'] == 3){
$profil = mysql_query("SELECT * FROM users WHERE id='".mysql_real_escape_string($id)."'");
$zobraz = mysql_fetch_array($profil);
if(isset($_POST['zmena'])) {                                           
mysql_query("UPDATE users SET viditelnyemail='".$_POST['videmail']."', viditelnaregistrace='".$_POST['vidreg']."' WHERE id='".$zobraz['id']."'");
echo"<meta http-equiv='refresh' content='0;url=privacy.php?id=".$user['id']."'>";}?>    
    <h1>Soukromí &bull; <?php echo $zobraz['nick']; ?></h1>
<small>Tady nastavíš co bude na tvém profilu viditelné všem.</small>
<form action="" method="POST" class="form-horizontal">
<div class="form-group">
        <label for="d_email">Viditelný email</label>
        <select name="videmail" class="form-control m-b">
                    <?php if($zobraz['viditelnyemail'] == 1){echo"<option value='0'>Nechat viditelný</option>";}else{echo"<option value='1'>Nechat neviditelný</option>";}?>
                    <option value="0">Neviditelný</option>
                    <option value="1">Viditelný</option>
                </select>
    </div>
<div class="form-group">
        <label for="d_reg">Viditelné datum registrace</label>
        <select name="vidreg" class="form-control m-b">
                    <?php if($zobraz['viditelnaregistrace'] == 1){echo"<option value='0'>Nechat viditelný</option>";}else{echo"<option value='1'>Nechat neviditelný</option>";}?>
                    <option value="0">Neviditelné</option>
                    <option value="1">Viditelné</option>
                </select>
    </div>
<button class="btn btn-sm btn-primary pull-right m-t-n-xs" name="zmena">Upravit soukromí</button>

<?php 
} 
else 
{    
    echo "Můžeš si spravovat pouze svůj profil, nikoliv cizí!";    
}
} else {
    echo "Tento uživatel neexistuje!";
}; ?>
<?php } else { ?>
<?php echo "$only_logged" ?>
<?php }; ?>
DarkMeni
Profil
V tomto kódu problém nevidím (když pominu zranitelnost na SQL injection přes $_POST['videmail'] a $_POST['vidreg'], doporučoval bych to obalit funkcí intval(), jelikož tam asi vždy bude jen 1 nebo 0, tedy: intval($_POST['videmail']))

Není tam nějaký javascript?
Josef Přerovský
Profil
Až na tyto, žádný.
<script>
tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "emoticons,autosave,image imagetools link preview",
  toolbar: "undo redo | bold italic underline | code | emoticons | restoredraft | image link | preview"
});
</script>

<script>
$(document).ready(function(){
    $('[data-toggle="tooltip"]').tooltip(); 
});
</script>

V tom asi chyba nebude. intval též nefunguje.
Davex
Profil
Josef Přerovský:
Je to tedy hodně strašidelný kód, ale chyba bude nejspíš v přeházených hodnotách <option>ů.
Josef Přerovský
Profil
Též myslím, kouknu na to ;)

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