Zdravím,
navazuji na svůj poslední problém, se kterým mi Shira pomohl. Řeším teď jeden problém. Mám databázi informací zvlášť v tabulce sunlight-card (jedná se o databázi zákdoků na www.ocnivady.cz), které provazuji s účtem tím, že do řádku vkládám také _loginid, pro pozdější editaci. Teď k problému. Dejme tomu, že se rageistruje uživatel, přejde na svou kartu zákroků a je problém s tím, že nevím, jak v PHP vytvořit nový řádek, resp. mám tento kód:
<?php
//kontrola jadra
if(!defined('_core')) {
exit;
}
$loginid = _logininid;
if (_loginindicator==1){
$module.= "<h1>Uživatelská karta "._loginpublicname."</h1>";
if (isset($_POST['formular'])) {
$error_log = array();
if (empty($_POST['vada'])) $error_log[] = "Vyplňte typ vady";
if (sizeof($error_log) > 0) {
$module.=_formMessage(2, _eventList($error_log, 'errors'));
}
else {
$vada = _safeStr(_htmlStr($_POST['vada']));
if (mysql_query("UPDATE `"._mysql_prefix."-card` SET vada='".$vada."' WHERE loginid="._loginid)){
$module.=_formMessage(1, "Formulář byl odeslán. Děkujeme.");
}
else{
$module.=_formMessage(3, "Zprávu se nepodařilo odeslat, kontaktujte nás prosím.");
}
}
}
// Nášrt vytváření tabulky
else{
mysql_query("INSERT INTO `" . _mysql_prefix . "-card` VALUES (null,'".$loginid."','')");
}
$module.="
<form action='' method='post' name='formular'>
<input type='text' name='vada' class='inputsmall' maxlength='50' value='"._safeStr($_POST['vada'])."' />
<input type='submit' value='Uložit do databáze' name='formular' />";
}
?>.
Kód funguje, ale chybně (po refreshi se vkládají nové a nové řádky, editace mi jde). Nevíte jak to upravit, popř. řešit jinak?
Napadlo mě dát sql pro vložení nového řádku při registraci uživatele, ale nechci zasahovat do systému, chtěl bych to mít po jednom.
Snad mi rozumíte, co tím myslím, prostě nevím jak vložit nový řádek s _loginid pouze jednou.
Mám ještě subdotaz. Dá se v SL vytvářet formuláře jednodušeji abych nemusel nevypisovat např.:
</tr><td>Vada</td><td><input type='text' name='vada' class='inputsmall' maxlength='50' value='"._safeStr($_POST['vada'])."' /></td></tr>
ale prohnat to nějakou funkcí?
navazuji na svůj poslední problém, se kterým mi Shira pomohl. Řeším teď jeden problém. Mám databázi informací zvlášť v tabulce sunlight-card (jedná se o databázi zákdoků na www.ocnivady.cz), které provazuji s účtem tím, že do řádku vkládám také _loginid, pro pozdější editaci. Teď k problému. Dejme tomu, že se rageistruje uživatel, přejde na svou kartu zákroků a je problém s tím, že nevím, jak v PHP vytvořit nový řádek, resp. mám tento kód:
<?php
//kontrola jadra
if(!defined('_core')) {
exit;
}
$loginid = _logininid;
if (_loginindicator==1){
$module.= "<h1>Uživatelská karta "._loginpublicname."</h1>";
if (isset($_POST['formular'])) {
$error_log = array();
if (empty($_POST['vada'])) $error_log[] = "Vyplňte typ vady";
if (sizeof($error_log) > 0) {
$module.=_formMessage(2, _eventList($error_log, 'errors'));
}
else {
$vada = _safeStr(_htmlStr($_POST['vada']));
if (mysql_query("UPDATE `"._mysql_prefix."-card` SET vada='".$vada."' WHERE loginid="._loginid)){
$module.=_formMessage(1, "Formulář byl odeslán. Děkujeme.");
}
else{
$module.=_formMessage(3, "Zprávu se nepodařilo odeslat, kontaktujte nás prosím.");
}
}
}
// Nášrt vytváření tabulky
else{
mysql_query("INSERT INTO `" . _mysql_prefix . "-card` VALUES (null,'".$loginid."','')");
}
$module.="
<form action='' method='post' name='formular'>
<input type='text' name='vada' class='inputsmall' maxlength='50' value='"._safeStr($_POST['vada'])."' />
<input type='submit' value='Uložit do databáze' name='formular' />";
}
?>.
Kód funguje, ale chybně (po refreshi se vkládají nové a nové řádky, editace mi jde). Nevíte jak to upravit, popř. řešit jinak?
Napadlo mě dát sql pro vložení nového řádku při registraci uživatele, ale nechci zasahovat do systému, chtěl bych to mít po jednom.
Snad mi rozumíte, co tím myslím, prostě nevím jak vložit nový řádek s _loginid pouze jednou.
Mám ještě subdotaz. Dá se v SL vytvářet formuláře jednodušeji abych nemusel nevypisovat např.:
</tr><td>Vada</td><td><input type='text' name='vada' class='inputsmall' maxlength='50' value='"._safeStr($_POST['vada'])."' /></td></tr>
ale prohnat to nějakou funkcí?