Autor Zpráva
Gecko
Profil *
Zdravím,
řeším jeden problém. Mám v tabulce záznamy, viz. http://upload.smetka.net/files/edit_table_djpw.png (klíčové informace znečitelněny) a rád bych je pomocí PHP editoval.

Mám následující kód:
<?php
/* --- kontrola jadra --- */
if(!defined('_core')) exit;
function _HCM_custom_refrakcnizakrokedit(){
$result= "";
if (isset($_POST['access'])) {
$cards_arr=array();
$cards=DB::query('SELECT id,title_seo FROM `'._mysql_prefix.'-card` WHERE email="'.DB::esc($_POST['email']).'" AND password="'.DB::esc($_POST['password']).'"') or die("MySQL ERROR: ".mysql_error());
if(DB::size($cards)!= 0) {
while ($card = DB::row($cards)) {
$cards_arr[$card['id']]=$card['title_seo'];
    }
  }
}


if (sizeof($cards_arr)==1){
if (isset($_POST['formular'])) {
$error_log = array();
/*
if (empty($_POST['ratting']))


$error_log[] = "Vyplňte jméno!";
*/
if (sizeof($error_log) > 0) {
$result.=_formMessage(2, _eventList($error_log, 'errors'));
} 

else {
DB::query("UPDATE `" . _mysql_prefix . "-card` SET result_operation='"._htmlStr($_POST['result_operation'])."', result_3m='"._htmlStr($_POST['result_3m'])."', result_6m='"._htmlStr($_POST['result_6m'])."', result_1y='"._htmlStr($_POST['result_1y'])."', ratting='"._htmlStr($_POST['ratting'])."' " . (isset($_GET['id']) ? " WHERE id =".intval($_GET['id']) : ''));
    if (!mysql_error()) {
    $result.=_formMessage(1, "Záznamy byly aktualizovány.");
    } else {

$result.=_formMessage(3, "Zprávu se nepodařilo odeslat, kontaktujte nás prosím.");
    }
  }
}

$act = DB::row(DB::query("SELECT * FROM `" . _mysql_prefix . "-card`" . (isset($_GET['id']) ? " WHERE id =".intval($_GET['id']) : '')));

$result.="
<div id='card'>
<form action='' method='post' name='formular'>
<table  cellspacing='0'>
<tr class='redtr'><td class='rpad'>Vaše jméno</td><td>" . $act['name'] . "</td></tr>
<tr class='redtr'><td class='rpad'>Profese</td><td>" . $act['profession'] . "</td></tr>
<tr class='redtr'><td class='rpad'>Věk</td><td>" . $act['age'] . "</td></tr>
<tr class='redtr'><td class='rpad'>E-mail</td><td>" . $act['email'] . "</td></tr>";

$result.="<tr class='redtr'><td class='rpad'>Publikace e-mailu</td><td>";
switch ($act["defect"]) {
          case "1": $result.="<span class='green'>E-mail je publikován.</span>"; break; 
          case "2": $result.="<span class='red'>E-mail není publikován.</span>";
          } 
$result.="</td></tr>";

$result.="<tr class='redtr'><td class='rpad'>Refrakční vada</td><td>";
switch ($act["defect"]) {
          case "1": $result.="Krátkozrakost"; break; 
          case "2": $result.="Dalekozrakost";
          } 
$result.="</td></tr>";

$result.="<tr class='redtr'><td class='rpad'>Dioptrie</td><td>Levé oko  ".number_format(round($act['po'], 2), 2)." DP, pravé oko  ".number_format(round($act['lo'], 2), 2)." DP</td></tr>";
$result.="<tr class='redtr'><td class='rpad'>Astigmatismus</td><td>Levé oko  ".number_format(round($act['ast_po'], 2), 2)." DP, pravé oko  ".number_format(round($act['ast_lo'], 2), 2)." DP</td></tr>";

$result.="<tr class='redtr'><td class='rpad'>Refrakční zákrok</td><td>";
switch ($act["operation"]) {
          case "1": $result.="LASIK"; break; 
          case "2": $result.="FemtoLASIK"; break;
          case "3": $result.="LASEK"; break;
          case "4": $result.="PRK"; break;
          case "5": $result.="EPI-LASIK"; break;
          } 
$result.="</td></tr>";


$clinic = DB::row(DB::query("SELECT * FROM `" . _mysql_prefix . "-kliniky` WHERE id=".$act["clinic"].""));  
$result.="<tr class='redtr'><td class='rpad' class='rpad'>Klinika</td><td>".$clinic["nazev"]."</td></tr>";

$result.="<tr  class='redtr'>
<td class='rpad'  valign='top'>Hodnocení operace<br /><i class='i'>(Váš popis zákroku)</i></td>
<td>
<textarea name='result_operation' class='areasmall' rows='9' cols='33'>" . $act['result_operation'] . "</textarea>
</td>
</tr>
    
<tr  class='redtr'>
<td class='rpad'  valign='top'>Kvalita zraku po 3 měsících<br /><i class='i'>(Vyplňte až po uplynutí doby!)</i></td>
<td>
<textarea name='result_3m' class='areasmall' rows='9' cols='33'>" . $act['result_3m'] . "</textarea>
</td>
</tr>

<tr  class='redtr'>
<td class='rpad'  valign='top'>Kvalita zraku po 6 měsících<br /><i class='i'>(Vyplňte až po uplynutí doby!)</i></td>
<td>
<textarea name='result_6m' class='areasmall' rows='9' cols='33'>" . $act['result_6m'] . "</textarea>
</td>
</tr>

<tr  class='redtr'>
<td class='rpad'  valign='top'>Kvalita zraku po 1 roce<br /><i class='i'>(Vyplňte až po uplynutí doby!)</i></td>
<td>
<textarea name='result_1y' class='areasmall' rows='9' cols='33'>" . $act['result_1y'] . "</textarea>
</td>
</tr>

<tr class='redtr'>
<td class='rpad' valign='top'>Hodnocení zákroku</td>
<td>
<label  class='one'><input name='ratting' value='1' type='radio' ".(($act['ratting']=="1")?" checked='checked'":"")." />Výborné</label><br /> 
<label><input name='ratting' value='2' type='radio' ".(($act['ratting']=="2")?" checked='checked'":"")."/>Chvalitebné</label><br /> 
<label><input name='ratting' value='3' type='radio' ".(($act['ratting']=="3")?" checked='checked'":"")."/>Dobré</label><br /> 
<label><input name='ratting' value='4' type='radio' ".(($act['ratting']=="4")?" checked='checked'":"")."/>Dostatečné</label><br /> 
<label class='five'><input name='ratting' value='5' type='radio' ".(($act['ratting']=="5")?" checked='checked'":"")."/>Nedostatečné</label>
</td>
</tr> 

<tr class='redtr'>
<td class='rpad' valign='top'></td>
<td><input type='submit' value='Aktualizovat' name='formular' /></td>
</tr> 

</table>
</div>
"._xsrfProtect()."
</form>";

}
else if (sizeof($cards_arr)>1){
$result.='<ul>';
foreach ($cards_arr as $key=>$value) {
$result.='<li><a href="edituj?id='.$key.'">'.$value.'</li>';}
$result.='</ul>';}

else {
$result.="
<div class='left'>
<fieldset>
<legend>Přihlášení</legend>
<form action='' method='post' name='access'>    
    <table cellspacing='0'>
    <tbody>
    <tr class='redtr'>
    <td class='rpad'>Váš e-mail</td>
    <td><input name='email' type='text' ". _restorePostValue('email')." /></td>
    </tr>
    
    <tr class='redtr'>
    <td class='rpad'>Heslo</td>
    <td><input name='password' type='text' ". _restorePostValue('password')." /></td>
    </tr>
    
    <tr class='redtr'>
    <td class='rpad' valign='top'></td>
    <td><input type='submit' value='Aktualizovat' name='access' /></td>
    </tr> 
</table>
</form>
</fieldset>
</div>



<div class='left'>
<fieldset>
<legend>Zapomenuté heslo</legend>
<form action='' method='post' name='lostpass'>    
    <table cellspacing='0'>
    <tbody>
    <tr class='redtr'>
    <td class='rpad'>Váš e-mail</td>
    <td><input name='email' type='text' ". _restorePostValue('email')." /></td>
    </tr> 
    <tr class='redtr'>
    <td class='rpad'>&nbsp;</td>
    <td>&nbsp;</td>
    </tr> 
    <tr class='redtr'>
    <td class='rpad' valign='top'></td>
    <td><input type='submit' value='Odeslat' name='lostpass' /></td>
    </tr> 
</table>
</form>
</fieldset>
</div>";}

return $result;
} 

Bohužel se mi zobrazuje notice:
Notice: Undefined variable: cards_arr in ...na lajně 17 a 135.

PHP mě nepustí na editační formulář, jednak se zobrazí notice a druhak nefunguje vertifikace mailua hesla.

Nevíte kde by mohl být zakopáno štěně?

Ježiš, nějak se to špatně vložilo (nebo za to mohu já), může někdo smáznou ten druhý blok kódu?
Moderátor Joker: Upraveno
[/url=http://upload.smetka.net/files/edit_table_djpw.png]http://upload.smetka.net/files/edit_table_djpw.png[/url] (klíčové informace znečitelněny) a rád bych je pomocí php editoval.

mám následující kód:
<?php
/* --- kontrola jadra --- */
if(!defined('_core')) exit;
function _hcm_custom_refrakcnizakrokedit(){
$result= "";
if (isset($_post['access'])) {
$cards_arr=array();
$cards=db::query('select id,title_seo from `'._mysql_prefix.'-card` where email="'.db::esc($_post['email']).'" and password="'.db::esc($_post['password']).'"') or die("mysql error: ".mysql_error());
if(db::size($cards)!= 0) {
while ($card = db::row($cards)) {
$cards_arr[$card['id']]=$card['title_seo'];
    }
  }
}


if (sizeof($cards_arr)==1){
if (isset($_post['formular'])) {
$error_log = array();
/*
if (empty($_post['ratting']))


$error_log[] = "vyplňte jméno!";
*/
if (sizeof($error_log) > 0) {
$result.=_formmessage(2, _eventlist($error_log, 'errors'));
} 

else {
db::query("update `" . _mysql_prefix . "-card` set result_operation='"._htmlstr($_post['result_operation'])."', result_3m='"._htmlstr($_post['result_3m'])."', result_6m='"._htmlstr($_post['result_6m'])."', result_1y='"._htmlstr($_post['result_1y'])."', ratting='"._htmlstr($_post['ratting'])."' " . (isset($_get['id']) ? " where id =".intval($_get['id']) : ''));
    if (!mysql_error()) {
    $result.=_formmessage(1, "záznamy byly aktualizovány.");
    } else {

$result.=_formmessage(3, "zprávu se nepodařilo odeslat, kontaktujte nás prosím.");
    }
  }
}

$act = db::row(db::query("select * from `" . _mysql_prefix . "-card`" . (isset($_get['id']) ? " where id =".intval($_get['id']) : '')));

$result.="
<div id='card'>
<form action='' method='post' name='formular'>
<table  cellspacing='0'>
<tr class='redtr'><td class='rpad'>vaše jméno</td><td>" . $act['name'] . "</td></tr>
<tr class='redtr'><td class='rpad'>profese</td><td>" . $act['profession'] . "</td></tr>
<tr class='redtr'><td class='rpad'>věk</td><td>" . $act['age'] . "</td></tr>
<tr class='redtr'><td class='rpad'>e-mail</td><td>" . $act['email'] . "</td></tr>";

$result.="<tr class='redtr'><td class='rpad'>publikace e-mailu</td><td>";
switch ($act["defect"]) {
          case "1": $result.="<span class='green'>e-mail je publikován.</span>"; break; 
          case "2": $result.="<span class='red'>e-mail není publikován.</span>";
          } 
$result.="</td></tr>";

$result.="<tr class='redtr'><td class='rpad'>refrakční vada</td><td>";
switch ($act["defect"]) {
          case "1": $result.="krátkozrakost"; break; 
          case "2": $result.="dalekozrakost";
          } 
$result.="</td></tr>";

$result.="<tr class='redtr'><td class='rpad'>dioptrie</td><td>levé oko  ".number_format(round($act['po'], 2), 2)." dp, pravé oko  ".number_format(round($act['lo'], 2), 2)." dp</td></tr>";
$result.="<tr class='redtr'><td class='rpad'>astigmatismus</td><td>levé oko  ".number_format(round($act['ast_po'], 2), 2)." dp, pravé oko  ".number_format(round($act['ast_lo'], 2), 2)." dp</td></tr>";

$result.="<tr class='redtr'><td class='rpad'>refrakční zákrok</td><td>";
switch ($act["operation"]) {
          case "1": $result.="lasik"; break; 
          case "2": $result.="femtolasik"; break;
          case "3": $result.="lasek"; break;
          case "4": $result.="prk"; break;
          case "5": $result.="epi-lasik"; break;
          } 
$result.="</td></tr>";


$clinic = db::row(db::query("select * from `" . _mysql_prefix . "-kliniky` where id=".$act["clinic"].""));  
$result.="<tr class='redtr'><td class='rpad' class='rpad'>klinika</td><td>".$clinic["nazev"]."</td></tr>";

$result.="<tr  class='redtr'>
<td class='rpad'  valign='top'>hodnocení operace<br /><i class='i'>(váš popis zákroku)</i></td>
<td>
<textarea name='result_operation' class='areasmall' rows='9' cols='33'>" . $act['result_operation'] . "</textarea>
</td>
</tr>
    
<tr  class='redtr'>
<td class='rpad'  valign='top'>kvalita zraku po 3 měsících<br /><i class='i'>(vyplňte až po uplynutí doby!)</i></td>
<td>
<textarea name='result_3m' class='areasmall' rows='9' cols='33'>" . $act['result_3m'] . "</textarea>
</td>
</tr>

<tr  class='redtr'>
<td class='rpad'  valign='top'>kvalita zraku po 6 měsících<br /><i class='i'>(vyplňte až po uplynutí doby!)</i></td>
<td>
<textarea name='result_6m' class='areasmall' rows='9' cols='33'>" . $act['result_6m'] . "</textarea>
</td>
</tr>

<tr  class='redtr'>
<td class='rpad'  valign='top'>kvalita zraku po 1 roce<br /><i class='i'>(vyplňte až po uplynutí doby!)</i></td>
<td>
<textarea name='result_1y' class='areasmall' rows='9' cols='33'>" . $act['result_1y'] . "</textarea>
</td>
</tr>

<tr class='redtr'>
<td class='rpad' valign='top'>hodnocení zákroku</td>
<td>
<label  class='one'><input name='ratting' value='1' type='radio' ".(($act['ratting']=="1")?" checked='checked'":"")." />výborné</label><br /> 
<label><input name='ratting' value='2' type='radio' ".(($act['ratting']=="2")?" checked='checked'":"")."/>chvalitebné</label><br /> 
<label><input name='ratting' value='3' type='radio' ".(($act['ratting']=="3")?" checked='checked'":"")."/>dobré</label><br /> 
<label><input name='ratting' value='4' type='radio' ".(($act['ratting']=="4")?" checked='checked'":"")."/>dostatečné</label><br /> 
<label class='five'><input name='ratting' value='5' type='radio' ".(($act['ratting']=="5")?" checked='checked'":"")."/>nedostatečné</label>
</td>
</tr> 

<tr class='redtr'>
<td class='rpad' valign='top'></td>
<td><input type='submit' value='aktualizovat' name='formular' /></td>
</tr> 

</table>
</div>
"._xsrfprotect()."
</form>";

}
else if (sizeof($cards_arr)>1){
$result.='<ul>';
foreach ($cards_arr as $key=>$value) {
$result.='<li><a href="edituj?id='.$key.'">'.$value.'</li>';}
$result.='</ul>';}

else {
$result.="
<div class='left'>
<fieldset>
<legend>přihlášení</legend>
<form action='' method='post' name='access'>    
    <table cellspacing='0'>
    <tbody>
    <tr class='redtr'>
    <td class='rpad'>váš e-mail</td>
    <td><input name='email' type='text' ". _restorepostvalue('email')." /></td>
    </tr>
    
    <tr class='redtr'>
    <td class='rpad'>heslo</td>
    <td><input name='password' type='text' ". _restorepostvalue('password')." /></td>
    </tr>
    
    <tr class='redtr'>
    <td class='rpad' valign='top'></td>
    <td><input type='submit' value='aktualizovat' name='access' /></td>
    </tr> 
</table>
</form>
</fieldset>
</div>



<div class='left'>
<fieldset>
<legend>zapomenuté heslo</legend>
<form action='' method='post' name='lostpass'>    
    <table cellspacing='0'>
    <tbody>
    <tr class='redtr'>
    <td class='rpad'>váš e-mail</td>
    <td><input name='email' type='text' ". _restorepostvalue('email')." /></td>
    </tr> 
    <tr class='redtr'>
    <td class='rpad'>&nbsp;</td>
    <td>&nbsp;</td>
    </tr> 
    <tr class='redtr'>
    <td class='rpad' valign='top'></td>
    <td><input type='submit' value='odeslat' name='lostpass' /></td>
    </tr> 
</table>
</form>
</fieldset>
</div>";}

return $result;
} 

bohužel se mi zobrazuje notice:
notice: undefined variable: cards_arr in ...na lajně 17 a 135.

php mě nepustí na editační formulář, jednak se zobrazí notice a druhak nefunguje vertifikace mailua hesla.

nevíte kde by mohl být zakopáno štěně?

ježiš, nějak se to špatně vložilo (nebo za to mohu já), může někdo smáznou ten druhý blok kódu?
[mod]upraveno[/mod[
Joker
Profil
Aha, zdá se nějaká chyba diskuse
Moderátor Chamurappi: Už se řeší.

Jinak ta poznámka o neexistující proměnné je nejspíš kvůli tomu, že definice proměnné cards_arr je uvnitř podmínky, takže pokud není splněno if (isset($_POST['access'])) {, proměnná se nezaloží.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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