Autor Zpráva
kulisek9871
Profil
Dobrý večer.

Potřeboval bych poradit. Mám vytvořený soubor, ve kterém mám tabulku, do které se zadají údaje. Vše kromě nového hesla zůstane je to jen pro kontrolu a nové staré heslo se změní na nové heslo. Níže je uvedený zdrojový kód této tabulky ovšem nevím jak tam dopsat to, aby mi to heslo změnilo a hlavně, aby to fungovalo. Děkui všem kdo mi poradí

<table bgcolor="#FFFF00" width="350" border="0"  style="border-radius:30px">
    <tr><td width="50%"><center>Přihlašovací jméno</td> </tr>
    <tr><td><center><input name="prihlasovaci_jmeno" type="text"></td></tr>
    <tr><td colspan="2"><center>Email</td></tr>  
    <tr><td colspan="2"><center><input name="email" type="text"></td>  </tr>
    <tr><td colspan="2"><center>Staré heslo</td></tr>  
    <tr><td colspan="2"><center><input name="stare_heslo" type="password"></td></tr>
    <tr><td colspan="2"><center>Nové heslo</td></tr>  
    <tr><td colspan="2"><center><input name="nove_heslo" type="password"></td></tr>
    <tr><td colspan="2"><center>Potvrzení nového hesla</td></tr>  
    <tr><td colspan="2"><center><input name="potvrzeni_noveho_hesla" type="password"></td></tr>      
    
    <tr><td colspan="2" align="center"><input type="submit" class="button" value="Změnit"></tr>
  </table>
maks
Profil
kulisek9871:
hledej v mysql UPDATE, v PHP pak budeš potřebovat podmínky (otestování, zda bylo zadáno to, co potřebuješ) a mysql(i)_* funkce.
kulisek9871
Profil
Pomůžete mi to nějak sepsat když znáte zdrojový kód tabulky? Moc vás prosím, protože co jsem zkoušel nefungovalo. Moc vás o to prosím. Děkuji

Stačí jen třeba napsat co a jak já si to sepíšu sám, ale aspoň něco. Děkuji
maks
Profil
kulisek9871:
protože co jsem zkoušel nefungovalo
ukaž, co jsi zkoušel.
shaggy
Profil
kulisek9871:
Pomůžete mi to nějak sepsat když znáte zdrojový kód tabulky?
...
Potřeboval bych napsat zdrojový kód odhlášení.

Takto vyzerá väčšina tvojich príspevkov. Toto je poradné fórum - tebe niečo nefunguje, nevieš ako ďalej a my ti poradíme. Z tvojej strany si to vyžaduje základne pochopenie problematiky. Toto fórum neslúži na to, aby sme za teba robili. Ak niečo nevieš a nechceš sa to učiť, môžeš si nájsť niekoho, kto ti to za peniaze napíše: Práce a zakázky.
kulisek9871
Profil
Já chci poradit. Dal jsem tu tabulku, ale dál nevím co napsat, aby to změnilo to heslo. Můžete mi aspoň slušně poradit?

Jinak zkoušel jsem z jedné stránky, ale to bylo divné na pohled. Je to důležité pro mě jen nevím jak to vytvořit. Mám jen tabulku a k tomu se musí něco dát, aby to změnilo heslo. Děkuji
shaggy
Profil
kulisek9871:
Můžete mi aspoň slušně poradit?
Máš pocit, že maks ti v [#2] poradil neslušne? Skúšal si to? Hľadal si vôbec niečo k tomu, čo ti poradil, alebo sa len stále pýtaš a vlastná iniciatíva = 0 bodov?
Ak je to pre teba dôležité, tak platí dvojnásobne to, čo som napísal - buď sa to nauč, alebo si niekoho zaplať.
kulisek9871
Profil
Slušně jsem myslel ochotně. Chtěl jsem pomoci, protože tohle neumím, ale jak vidím tak nikdo není ochotný poradit. Nejsem nějaký mistr v php a tohle neumím když mám dvě tabulky proto sjem chtěl poradit, ale tady buď musím zaplatit nebo to jinak nejde. Snad se někdo najde kdo by mi poradil. Děkuji
Jan Tvrdík
Profil
kulisek9871:
jak vidím tak nikdo není ochotný poradit
Vidíš špatně. Radu jsi přeci dostal. Projevíš-li iniciativu, dostaneš další. Viz také pravidla diskuse a Google.
kulisek9871
Profil
Celý soubor změny. Už to mám udělané ovšem mi to hází error. Podívejte se na to prosím vás a poraďte mi. Děkuji

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
<title>Crysis</title>

      <style type="text/css">
      <!--
       
   



#menu {list-style-type:none; margin:0 0 0px 0; padding:0;}

#menu li {display:block; float:left; position:relative; z-index:100; margin-right:1px;}
#menu li span {display:block; z-index:100; padding: 5px 10px;font-size:1.1em;}
#menu li a, #menu li a:visited {display:block; padding:0; white-space:nowrap;}

#menu dl {position:absolute; top:0; left:0; margin: 0; padding: 0; background:transparent url(3-12.img/opaque.png);}
* html #menu dl {background:transparent url(3-12.img/opaque.gif);}
#menu dt {margin:0; font-size: 1.1em; float:left;}
#menu dd {display:none; background: transparent; clear:left; margin:0; padding:0; color: #fff; font-size: 1em; text-align:left;}
                                                                                       
#menu dt a, #menu dt a:visited {display:block; color:#000; padding: 5px 10px; text-decoration:none;} <!--text menu-->
#menu dd a, #menu dd a:visited {color:#000; text-decoration:none; display:block; padding: 5px 10px;}

#menu li a:hover {border:0; text-decoration:underline;}

#menu li:hover dd, #menu li a:hover dd {display:block;}
#menu li:hover dl, #menu li a:hover dl {padding-bottom:15px;}
#menu li:hover dt a, #menu li a:hover dt a, #menu dd a:hover {color:#c00;}

#maincontainer1 {display: block;
position: center;
width: 1580px;
height="990";
margin: 0px auto 0px;
border:solid 0px red;
text-align:center;
}

#maincontainer {display: block;
position: center;
width: 990px;
height="600";
margin: 80px auto 10px;
border:solid 0px red;
text-align:center;
}

.contenttext {
max-height:320px;
overflow-y:scroll;
padding-right:40px;
scrollbar-track-color: #010101;
 scrollbar-face-color: #575C5F;
 scrollbar-highlight-color: yellow;
 scrollbar-3dlight-color: green;
 scrollbar-darkshadow-color: black;
 scrollbar-shadow-color: #010101;
 scrollbar-arrow-color: red;
}


//-->
      </style>
      
      </head>

<div id="mainContainer1">
 <body background="../Bez-názvu-3.jpg" title="Bez-názvu-3" bgproperties="scroll" >

 

<div id="mainContainer">

<br>
 <br>
 <br>
 <br>
 <br>
 <br>
 <br>
 <br>
 <br>                 
    <!--ZAČÁTEK MENU-->
<ul id="menu">
<li><span>Hlavní strana</span>
<dl>
    <dt><a href="Hlavni_strana.php">Hlavní strana</a></dt>
</dl>
</li>
<li><span>O nás</span>
<dl>
    <dt><a href="O_nas.html">O nás</a></dt>
</dl>
</li>
<li><span>Jak to funguje?</span>
<dl>
    <dt><a href="Jak_to_funguje.html">Jak to funguje?</a></dt>
    
</dl>
</li>
<li><span>Registrace</span>
<dl>
    <dt><a href="Registrace.php">Registrace</a></dt>
</dl>
</li>
<li><span>Obchodní podmínky</span>
<dl>
    <dt><a href="Obchodní_podmínky.html">Obchodní podmínky</a></dt>
</dl>                         
</li>
<li><span>Kontakt</span>
<dl>
    <dt><a href="Kontakt.php">Kontakt</a></dt>
</dl>
</li>
</ul>
 <!--KONEC MENU-->

   <br>
   <br>
   <br>
   <br>
    
<?php
$action=$_POST["action"];
switch ($action){
case "send":
send();
break;
default:
change();
break;
}
function change(){
?>    
    
    <table bgcolor="#FFFF00" width="350" border="0"  style="border-radius:30px">
    
    <tr><td width="466" height="200" align="middle" valign="top">
        <form method="post" name="chgform" action="Nastaveni.php">
              <input type="hidden" name="action" value="send" />
        <table border="0" cellpadding="0" cellspacing="0" width="466">
        </td></tr>
    
    <tr><td width="50%"><center>Přihlašovací jméno</td> </tr>
    <tr><td><center><input name="prihlasovaci_jmeno" type="text"></td></tr>
    <tr><td colspan="2"><center>Email</td></tr>  
    <tr><td colspan="2"><center><input name="email" type="text"></td>  </tr>
    <tr><td colspan="2"><center>Staré heslo</td></tr>  
    <tr><td colspan="2"><center><input name="stare_heslo" type="password"></td></tr>
    <tr><td colspan="2"><center>Nové heslo</td></tr>  
    <tr><td colspan="2"><center><input name="nove_heslo" type="password"></td></tr>
    <tr><td colspan="2"><center>Potvrzení nového hesla</td></tr>  
    <tr><td colspan="2"><center><input name="potvrzeni_noveho_hesla" type="password"></td></tr>      
    
    <tr><td colspan="2" align="center"><input type="submit" class="button" value="Změnit"></tr>
  </table>
  
<?php
}
function send(){
$prihlasovaci_jmeno=$_POST["prihlasovaci_jmeno"];
$email=$_POST["email"];
$stare_heslo=$_POST["stare_heslo"];
$nove_heslo=$_POST["nove_heslo"];
$potvrzeni_noveho_hesla=$_POST["potvrzeni_noveho_hesla"];
if (strlen($prihlasovaci_jmeno) < 1 || strlen($email) < 1 || strlen($stare_heslo) < 1 || strlen($nove_heslo) < 1 || strlen($potvrzeni_noveho_hesla) < 1) {
    echo "Údaje nejsou správně uvedené, prosím zkontrolujte je! <a href=\"javascript:history.back();\">Späť</a>";
}elseif($nove_heslo != $potvrzeni_noveho_hesla){
    echo "Nové heslo se neshoduje s potvrzením nového hesla! <a href=\"javascript:history.back();\">Späť</a>";
}else{
    require_once("config.php");
    mysql_select_db("databaze");
    $exec="select prihlasovaci_jmeno from databaze where prihlasovaci_jmeno = $_POST['prihlasovaci_jmeno'] and prihlasovaci_heslo = md5($_POST['stare_heslo'])";
    $result=mysql_query($exec);
    $rs=mysql_fetch_object($result);
    if($rs){
        $exec="update databaze set prihlasovaci_heslo=md5('$nove_heslo') where prihlasovaci_jmeno='$_POST['prihlasovaci_jmeno']'";
        mysql_query($exec);
        //echo $exec;
        //echo mysql_error();
        echo "Heslo a Odstraňovací kód boli úspešne zmenené! <a href=\"index.php\">Návrat na Hlavnú Stránku</a>";exit;
    }else{
        echo "Prihlasovacie meno, Odstraňovací kód alebo Heslo je zle zadané! <a href=\"javascript:history.back();\">Späť</a>";exit;
    }
}
}
?>  

</div>
</div>     
</body>
</html>

Háže to:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\fff\htdocs\klikjezisk\Nastaveni.php on line 180
juriad
Profil
Ideálně nějak takto:
$exec = "update databaze set prihlasovaci_heslo='" . md5($nove_heslo) . "' where prihlasovaci_jmeno='" . $_POST['prihlasovaci_jmeno'] . "'";

Databáze a tabulka je něco jiného; tabulku by bylo lepší nazvat třeba uživatelé, přihlašování nebo podobně.


Mimochodem, zkus si pojmenovat uživatele:
' OR 1 = 1 --
V tomto případě by to způsobilo změnu všech hesel.

Lepší by bylo tedy:
$exec = "update databaze set prihlasovaci_heslo='" . md5($nove_heslo) . "' where prihlasovaci_jmeno='" . mysql_real_escape_string($_POST['prihlasovaci_jmeno']) . "'";

A koukám, že jsem opravil jiný řádek. Ale idea by měl být jasná.
kulisek9871
Profil
Název databáze je databáze a název tabulky je klienti. Takže mám to opravit jak jste napsal? Děkuji
juriad
Profil
Ne, řádky 180 až 191 nahraď za kód, který za chvíli pošlu. Alespon uvidíš jak se to má dělat.
kulisek9871
Profil
Potřebuji nnít chybu na 180 řádku. Nefunguje mi to ani otevřít a název tabulky je klienti a název databáze je databaze. Děkuji


Dobře snad už to nenapíše tu chybu a bude to fungovat. Děkuji vám
juriad
Profil
řádky 180 až 191 nahraď za:
$exec = "UPDATE klienti 
SET prihlasovaci_heslo = '" . md5($nove_heslo) . "'
WHERE prihlasovaci_jmeno = '" . mysql_real_escape_string($prihlasovaci_jmeno) . "'
AND prihlasovaci_heslo = '" . md5($stare_heslo) . "'";

$vysledek = mysql_query($exec);
if($vysledek && mysql_affected_rows() > 0) {  # pokud se dotaz povedl a změnil alespoň jeden řádek:
  echo "Heslo a Odstraňovací kód boli úspešne zmenené! <a href=\"index.php\">Návrat na Hlavnú Stránku</a>";
} else {
  echo "Prihlasovacie meno, Odstraňovací kód alebo Heslo je zle zadané! <a href=\"javascript:history.back();\">Späť</a>";
}
kulisek9871
Profil
A když to udělám tk to nebude házet tu chybu a bude to fungovat celé tedy jak má? Děkuji za odpověď vyzkouším to jen ještě dělám něco jiného

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