#2 Kit
Vďaka za odpoveď, to znie ako super riešenie.
Ako presne myslíš to parsovanie cez PHP? Ja si cez index.php predávam podstránky v danom adresári a kontrolujem ich cez file_exist().
Vďaka za dodatočné info.
#2 Kit
Vďaka za odpoveď, to znie ako super riešenie.
Ako presne myslíš to parsovanie cez PHP? Ja si cez index.php predávam podstránky v danom adresári a kontrolujem ich cez file_exist().
Vďaka za dodatočné info.
Ahojte,
mám jednoduchý htaccess súbor, ktorý mi robí pekné URLky:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?p=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?p=$1
Ak zadám adresu v tvare example.com/novinky všetko ide ako má, ak ale načítam example.com/novinky/ s lomkou na konci, tak sa síce obsah zobrazí, ale bez CSS, JS a pod.
Na načítavanie CSS, JS a pod. používam relatívne adresy, tzn. žiadne pevné linky. Tieto adresy vyzarú nasledovne:
<link href="vendor/font-awesome-5/css/fontawesome-all.min.css" rel="stylesheet" media="all">
Takže to nenačítava z example.com/vendor... ale z example.com/novinky/vendor...
Ako takému niečomu predísť? Dávať fixné adresy na súbory mi príde trošku mimo, je nejaký iný krajší spôsob?
Ďakujem pekne.
Ahojte, neviem kde robím chybu, ale cez get funkciu v Jquery získavam dáta z PHP súboru, ten obsahuje len obyčajný 5 znakový text, ak vo funkcii využijem Alert, tak sa dáta zobrazia, ak ale return a zavolám túto funkciu, tak mi to pošle späť len undefined.
Ak sa zavolá táto funkcia, tak to nič nevráti.
function next()
{
$.get( "http://localhost/test/next.php", function( data ) {
return data;
});
}
Ak tam ale mám alert, tak to vypíše v pohode.
function next()
{
$.get( "http://localhost/test/next.php", function( data ) {
alert(data);
});
}
Ako to returnúť tak, aby sa to dalo použiť v akejkoľvek inej funkcii?
Ďakujem pekne :)
Zdravím,
vie mi prosím niekto poradiť, ako stiahnuť súbor, ktorý má "invalid" cestu?
My.Computer.Network.DownloadFile(
"https://downloads.wordpress.org/plugin/wp-super-cache.1.5.9.zip",
"D:\subor.zip")
Vždy keď sa o to pokúsim tak mi editor vypíše oznam o Invalid Path, žiaľ nie je to cesta k lokálnemu súboru, tak ju neviem nijak zmeniť.
Je šanca ako tento súbor z tejto adresy stiahnuť?
Ďakujem pekne
Čaute,
snažím sa odosielať cez Jquery form, všetko je ok, ale narazil som na problém, kedy už viac nechcem zapisovať premennú po premennej a posielať ich cez POST, keďže má už prirpavené dynamické elementy a nikdy dopredu neviem koľko a čoho sa odošle, našiel som možnosť cez serialize array, tu je môj kód:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){ $("#form").on("submit", function(e){
console.log( $( this ).serializeArray() );
e.preventDefault()
var username = $("#username").val();
var password = $("#password").val();
var userData = "username=" + username + "&password=" + password;
console.log('test')
$.ajax({
method: "post",
url: "submit.php",
data: userData,
success: function(backData){
$("#registerOutput").html(backData);
}
});
});
});
</script>
</head>
<body>
<form id="form">
Username <input id="username" type="text" required/>
Password <input id="password" type="password" required/>
<button type="submit" id="register">Register</button>
</form>
<div id="registerOutput">
</div>
Hlavne mi ide o riadok s console.log( $( this ).serializeArray() ); kde by to do konzoly malo hodiť všetky odoslané údaje, ale akosi mi to nefunguje a stále mi to posiela len prázdnu Array. Kde je problém, ako to upraviť? Môžem potom ju potom v pohode použiť v AJAX-e ako data: ?
Dík za pomoc :)
#3 peter
Ďakujem ale asi som to zle napísal, alebo pochopil.
Ide mi o to, že HTML5 už má vnorené atribúty a možnosti, ktoré kontrolujú ešte pred POST.
Napr.
<input type="text" name="polozka" required>
<input type="email">
<input type="number"> ...
Pri normal POST to nepustí, pokým to nemá požadovanú hodnotu, pri tomto JS to zbehne či to tam je definované, alebo nie. Hľadám a teda niečo, čo bude brať tieto HTML5 atribúty v úvahu.
Ďakujem.
Ahojte,
rád b som ešte pred odoslaním formu cez JS aspoň základne validoval cez HTML5 cez atribúty ako require alebo aj typ inputov ako email a pod. A až potom zavolal JS, príde mi to lepšie takto jednoducho validovať a neskôr na strane PHP ešte ošetriť. Ako to spraviť? Mám toto JS na odosielanie:
<script>
function SubmitFormData() {
$('#businessname').attr('required', 'required');
var name = $("#name").val();
var email = $("#email").val();
var phone = $("#phone").val();
var gender = $("input[type=radio]:checked").val();
$.post("submit.php", { name: name, email: email, phone: phone, gender: gender },
function(data) {
$('#results').html(data);
$('#myForm')[0].reset();
});
}
</script>
</head>
<body>
<form id="myForm" method="post">
Name: <input name="name" id="name" type="text" /><br />
Email: <input name="email" id="email" type="text" /><br />
Phone No:<input name="phone" id="phone" type="text" /><br />
Gender: <input name="gender" type="radio" value="male">Male
<input name="gender" type="radio" value="female">Female<br />
<input type="button" id="submitFormData" onclick="SubmitFormData();" value="Submit" />
</form>
Skúšal som dané atribúty, ale JS a odosielanie ich ignoruje, ako to mám upraviť aby to bralo v úvahu?
Ďakujem pekne :)
Ahojte,
chcel by som svoje dáta sbmitnúť cez Jquery, aj sa mi to podarilo cez nasledovný kód:
$( "#tlacidlo" ).click(function() {
$( "#formular" ).submit();
event.preventDefault();
});
Funguje to ako má, ale ma hnevá, že sa celá stránka po submitnutí aktualizuje... Chcel by som to bez toho, pozeral som sa aj po funkcii on.sbmit, ale neviem ako ju aplikovať, aby to nespravilo refresh.
Vie mi niekto prosím poradiť ako to jednoducho upraviť, resp. doplniť, aby to submitlo bez aktualizácie stránky?
Ďakujem pekne.
#2 gna
Skúsil som to vymeniť na nové:
RewriteRule ^clanok/(\d+)*/?$ /index.php?p=clanok&id=$1
RewriteRule ^clanky/?$ /index.php?p=clanky
Ale teraz mi nejde ani jedno, ani clanky s lomítkom ani bez a clanok s id aj bez ID.
Neviem kde môže byť chyba.
Ďakujem.
Zdravím,
chcel by som dostiahnuť aby moja aplikácia, skracovala pekne URL adresy, zatiaľ to robím pre každú adresu manuálne, čo mi až tak nevadí, skôr mám problém v tom, že musím riešiť pre každú, variantu s a bez lomítka a pod. Prípadne to dopadne tak, že ak sa dá za už vyplnené ID lomítko, tak to hodí 404.
To je môj kód:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^clanok/(\d+)*$ ./index.php?p=clanok&id=$1
RewriteRule ^clanky/(\d+)*$ ./index.php?p=clanky
RewriteRule ^clanky(\d+)*$ ./index.php?p=clanky
Pre:
example.com/clanok/1 - ide všetko OK
example.com/clanok/1/ - 404
example.com/clanky - OK, až na to, že musím vpísať ďalší Condition kvôli tomu, ak sa zadá example.com/clanky/
Vie mi prosím niekto poradiť, ako to pekne spraviť, aby to bralo vždy aj s lomkou aj bez lomky kdekoľvek? Prípadne nejaké vylepšenie?
Ďakujem pekne.
Zdravím, automaticky vytváram inputy... po kliknutí na tlačidlo sa zavolá funkcia AddElement:
function addElement() {
intTextBox++;
var objNewDiv = document.createElement('tbody');
objNewDiv.innerHTML = '<tr><td><input type="text" id="nazov" name="nazov"></td></tr>';
document.getElementById('content').appendChild(objNewDiv);
}
Všetko funguje ako má, problém je ale ten, že keďže sa vytvára dynamicky, tzn. nie je staticky vložený, tak o ňom Jquery funkcia nevie. Ide o nasledovnú autocomplete funkciu:
$(function() {
$( "#nazov" ).autocomplete({
minLength: 2,
source: 'private/hladaj.php',
select: function(event, ui) {
document.getElementById("pocet").value = ui.item.pocet;
}
});
});
Funkcia bez problémov beží na elemente, ktorý je "natvrdo" staticky zadaný v HTML kóde, nové elementy ale neberie do úvahy.
Čo sa čítal, tak existovala kedy funkcia jquery .live a terza je vymenená za .on, neviem ale ako to použiť v tomto prípade. Keďže chcem aby si Jquery zisťovalo nové položky. A priradilo pre každý nový input s daným ID možnosť autocomplete... Tzn. aby sa vždy dalo vybrať a bolo to jedinečné.
Ďakujem za pomoc.
#5 gna
Aj keď definujem do lastData[] položky z komentáru tzn:
lastData = [{nazov: 'aa', pocet: 11}, {nazov: 'ab', pocet: 12}];
Tak to pri vpisovaní ukáže len "0" a nič viac sa nedeje.
Výstup z hľadaj je napr. pre term="polo":
["\"Polo\u017eka 1\": \"30\",","\"Polo\u017eka 2\": \"50\",","\"Polo\u017eka 3\": \"10\",","\"Polo\u017eka 4\": \"30\",","\"Polo\u017eka pre FID 19\": \"30\","]
v json_encode
neviem či v tom je chyba, alebo niečo v inom.
Ďakujem.
#5 gna
Vďaka, dlhšie som sa hral s tým a asi bude fajn, ak to načítam celé dopredu a nebudem musieť stále posielať requesty a tak som to spravil takto:
<script>
$(function() {
var data = {<?php while ($row = $query->fetch_assoc()) {echo ('"'.$row['nazov'].': '.$row['pocet'].'",');} ?>};
$( "#nazov" ).autocomplete({
minLength: 3,
source: function(request, response) {
// muzes ajaxem stahnout data
// ja pouziju ten preddefinovany objekt
var keys = Object.keys(data);
console.log(keys);
response(keys);
},
select: function(event, ui) {
var key = ui.item.value;
var val = data[key];
console.log(key, val);
$( "#pocet" ).val(val);
}
});
});
</script>
Problém ale je fakt, že to nechce fungovať s názvami, čo majú v sebe medzeru. Stále problém s UnExpected token ,... Problém som vyriešil len podtržníkom, ale popravde pri vyhľadávaní to nevyzerá vôbec dobre... Keďže všetky autocomplete položky vypisuje s podtržníkom a teda... Položka_1 Nejaká_nová_položka a pod.
Je to možné nejako jednoducho ošetriť?
Mám na mysli toto:
Ďakujem za pomoc.
Ahojte,
postupne sa učím Javascript a Jquery a podarilo sa mi rozchodiť základné autocomplete. Kde sa výraz vyhľadáva cez databázu. Všetko mi funguje, ako má, ale zaujímalo by ma nasledovné:
Po výbere prvku z autocomplete by som chcel, aby sa do ďalšieho voľného inputu s id="pocet" vybrala položka s počtom z DB a vložila do daného inputu.
Tzn. vyberiem si položku z autocomplete a do id="nazov" sa priradí $row['nazov'] a do inputu s id="pocet" sa priradí $row['pocet']. Uvažoval som vytvoriť nové $data2 ale keďže by to returnovalo naraz, tak to asi moc zmysel nemá.
Pred predstavu čo mám hotové, prikladám scripty.
Veľká vďaka za pomoc.
index.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#nazov" ).autocomplete({
minLength: 5,
source: 'hladaj.php'
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="nazov">Názov: </label>
<input id="nazov">
<input id="pocet">
</div>
</body>
</html>
hladaj.php
<?php
$dbHost = 'localhost';
$dbUsername = 'root';
$dbPassword = '';
$dbName = 'databaza';
//connect with the database
$db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName);
$db->set_charset("utf8");
//get search term
$searchTerm = $_GET['term'];
//get matched data from skills table
$query = $db->query("SELECT * FROM polozky WHERE nazov LIKE '%".$searchTerm."%'");
while ($row = $query->fetch_assoc()) {
$data[] = $row['nazov'];
}
//return json data
echo json_encode($data);
?>
Ahojte,
mám dynamický formulár, kde ukladám aj inputy vytvorené javascriptom.
Viem si všetky údaje a názvy inputov vyzbierať a aj vypísať.
cez:
foreach ($_POST as $key => $value)
{
}
Premýšľam ale, akým spôsobom ich prerozdelím a insertnem do dvoch rôznych tabuliek.
Potrebujem prvých 6 inputov dať do tabuľky abcd a druhých 6 a viac (podľa dynamicky vytvorených inputov) do efgh.
Vôbec nemám nápad ako to jednoducho a funkčne zapísať do daného foreach.
Keďže ich môže byť aj 200 a keby zadám INSERT INTO tabulka (stlpec1,stlpec2,stlpec3...) tak by to mohlo uložiť aj niečo iné.
Neviem či zle uvažujem, alebo ako, ale budem určite rád, ak mi niekto pomôže.
Rátať v hidden inpute počet vytvorených inputov cez javascript a vytvorenie cyklu nevidím ako šťastné riešenie.
Ďakujem pekne.
Ahojte,
v Javascripte nie som moc zbehlý a potreboval by som pomoc, chcem poslať výsledok jednej funkcie do druhej ale ani za nič sa mi to nedarí, ako výsledok mi vždy vypluje Undefined. Pričom prvá funkcia beží bez problémov. Ale ak z nej niečo pošlem do inej tak tam sa to javí ako Undefinded.
Tu je kód:
function sumPrice(price,qty,number)
{
var sum = price*qty;
document.getElementById("total_"+ number +"").innerHTML = ""+ sum +"€";
subTotal("abcd");
}
function subTotal(abc)
{
document.getElementById("subtotal").innerHTML = ""+ abc +"€";
}
Ďakujem za pomoc :)
Ahojte,
vedel by mi niekto pomôcť, ako vyriešiť nasledovný problém?
Mám string/ premennú:
$text = 'nejaký text "toto treba zmazať" pokračovanie textu';
Potrebujem aby sa všetky výskyty slov medzi apostrofmi nahradili prázdnym miestom, resp. čímkoľvek. Skúšal som to cez preg_match ale ten zápis mi nefungoval ako by som chcel.
Proste outputom by mal byť string, ktorý bude obsahovať len text, ktorý nie je medzi apostrofmi.
V tomto prípade teda:
nejaký text pokračovanie textu
Ďakujem pekne za pomoc, už si fakt neviem rady.
#2 peter
Vďaka za odpoveď, ono môj zámer je úplne iný, ide mi skôr o to, že návštevník dobrovoľne klikne na odkaz, otvori sa okno s externým fomulárom, ten vyplní a po zobrazení sa okno zavrie a jemu do member účtu pripočíta body. Nejde mi o žiadny typ vyskakovacích okien, ktoré aj mne lezú na nervy.
Tak ak by si vedel ešte niečo podariť budem rád.
Vďaka!
Ahojte,
po dlhšej dobe opäť potrebujem vašu cennú pomoc :)
Ide o tento problém:
V okne sa mi otvori stránka ku príkladu example.com, ktorá sama o sebe zobrazuje formulár a tlačidlo submit, ktoré po stlačení presmeruje na ďakovnú stránku. Táto stránka, ale nie je moja, síce ju viem otvoriť v novom okne, ale neviem tam dopisovať žiaden kód ani nič podobné.
Ide mi o to, aby keď sa na danej stránke v danom okne stlačí submit a presmeruje sa na ďakovnú stránku, aby som tento event odsledoval a po presmerovaní zavolal funkciu, ktorá zavrie okno a zavolá aj PHP kód.
Ide mi hlavne o ten event, ktorý má nastať vtedy, ak sa stránka v otvorenom okne presmeruje.
Riešenie asi cez iframe najvhodnejšie nie je, ale môžem sa mýliť. Budem rád ak mi niekto poradí.
PRÍKLAD:
niečo obdobné ako boli otvorané tie okná s FB share, kedy sa stlačilo SHARE a okno sa presmerovalo a zavrelo. Tu ale nejde o FB.
Ďakujem pekne.