IT-TechCZ s.r.o. | Cloud, VoIP ústředny, vývoj webů a informačních systémů, elektronických systémů, IT poradenství
Zobrazují se odpovědi 1 až 15 z 15

Repeater nezapisuje do databáze nevíte někdo co s tím?

  1. Ahoj lidi,

    mám takový problém nezapisuje mi to do databáze:

    Tohle je html:

    Kód:
    <form method="POST" id="add_name" >      
    <div class="form-group">
    <label class="control-label col-sm-2" for="repeater">Repeater</label>
    <div class="col-sm-10 input_fields_container_part"> 
    {foreach $_POST['repeater'] as $item}
    <input type="text" class="form-control" name="repeater[]" id="repeater" placeholder="Zadejte položky" value="{$item}">
    {/foreach}
    
    
    <button class="btn btn-sm btn-primary add_more_button">Přidat další pole</button> </div>
    <div id="odeslano"></div>
    
     	</div> 
    				<div class="form-group">        
    					<div class="col-sm-offset-2 col-sm-9">
    						<input type="submit" class="btn btn-default" id="submit" name="submit" >
    					</div>
    		</div>	    
    </form>

    tohle je jquery a ajax:

    Kód:
    $(document).ready(function(){
    var max_fields_limit      = 50; //set limit for maximum input fields
        var x = 1; //initialize counter for text box
        $('.add_more_button').click(function(e){ //click event on add more fields button having class add_more_button
            e.preventDefault();
            if(x < max_fields_limit){ //check conditions
                x++; //counter increment
                $('.input_fields_container_part').prepend('<div><input type="text" class="form-control" name="repeater[]"/><a href="#" class="remove_field" style="margin-left:10px;">Remove</a></div>'); //add input field
            }
        });  
        $('.input_fields_container_part').on("click",".remove_field", function(e){ //user click on remove text links
            e.preventDefault(); $(this).parent('div').remove(); x--;
        });
                  
       $('#submit').click(function(){ 
       
        
    var data = [];
    $('input[name="repeater[]"]').each( function() {
    data.push(this.value);
    });
             
      
               $.ajax({
            type: "POST",
            url: "http://tvorbawebupraha.tode.cz/app/repeater.php",
            data:{ "formdata" : data },
            success: function( returnData ){
                 $('#odeslano').text( returnData ); 
            }
        });    
               
               
               
               
          });   
    
        
        });
    A tohle je php:

    Kód:
     <?php 
      if(isset($_POST['submit'])){ 
        
         $select = $_POST["formdata"]["repeater"];
        foreach ((array)$select as $polozky) {
            $value .= $polozky ."<br />";
        }
     
     $number = count($_POST["formdata"]["repeater"]);  
     if($number > 0)  
     {  
          for($i=0; $i<$number; $i++)  
          {      
               if(trim($_POST["formdata"]["repeater"][$i] != ''))  
               {    
                    $sql = dibi::query("INSERT INTO repeater(repeater) VALUES('".$_POST["formdata"]["repeater"][$i]."')");  
                   
               }  
          }  
          echo "Data Inserted";  
     }  
     else  
     {  
          echo "Please Enter Name";  
     }
     
     
    echo $value;
     
    } 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
       
     ?>
    Neinsertuje to data do databáze nevíte někdo kde je problém ?

  2. Co se právě děje na Webtrhu?
  3. !!! Dokumentace - https://dibiphp.com/en/documentation

    WARNING, never concencate parameters to SQL, the vulnerability would arise SQL injection
    Kód:
    $database->query('SELECT * FROM users WHERE id = ' . $id); // BAD!!!
    A ty tam prskneš:
    Kód:
    $sql = dibi::query("INSERT INTO repeater(repeater) VALUES('".$_POST["formdata"]["repeater"][$i]."')");
    Proč nepoužíváš dle dokumentace "$database->query"? Máš tam "$sql = dibi::query", jako kdybys s výsledkem nějak pracoval = což se neděje.

    Za další, vypisuje se správně "$_POST["formdata"]["repeater"][$i]"? Kontroloval si to?

  4. Když dám consoli tak mi to vypíše data v poli..přes ten javascript......s těmi pak pracuji v tom html pomocí foreach...., ale jak to správně zapsat, aby to uložilo ty pole do databáze ? $i je jen z cyklu for, aby je to tam rovnalo pod sebe id tam má autoincrement....

    Když je registrace: v set_dibi.php tak mohu použít dibi::query to píšou v dokumentaci. jak tam správně zapsat ten post ?


    Kód:
    if(strpos($_SERVER['HTTP_HOST'], 'localhost')!==false) {
    	dibi::connect(array(
    		'driver'	=> 'mysql',
    		'host'		=> 'localhost',
    		'username'	=> 'root',
    		'password'	=> 'vertrigo',
    		'database'	=> 'babinec',
    		'charset'	=> 'utf8',
    	));
    }
    else {
    	dibi::connect(array(
    		'driver'	=> 'mysql',
    		'host'		=> '',
    		'username'	=> '',
    		'password'	=> '',
    		'database'	=> '',
    		'charset'	=> 'utf8',
    	));
    }

  5. Na webu máš napsaný Vytvářím webové stránky bez redakčních systémů nebo na redakčních systémech. Řekneš mi proč podnikáš v něčem, co vůbec neumíš? Ty pseudo programátore?

  6. Nemohu znát všechno....šablonu jsem nedělal.....co neznám to si zaplatím..máte v tom nějaký problém, buď se vzdělám nebo si to zaplatím.... nějak to dopadne..., a proč sem chodíte vy ? Abyste hledal chyby na jiných, ale ta základní je proč tu jste píšete mi tohle namísto toho, abyste buď poradil nebo držel hubu, protože jste obyčejnej čůrák co se tu do někoho naváží...a takový já nemám rád. Jste mega buran....

    Proč by to nešlo ? Alespoň se posouvám... pořád se posouvat..to se naučte ...a nestěžujte si....jinak původně jsem kodér to programátorství....na mě nahrnul zadavatel já to vzal a jde to se posouvat jde to..zřejmě se neposouváte tak tomu nerozumíte.


    Jinak za tento post vás již považuji za megačůráka, člověka neempatického a ubohého....vůbec, už nepište.

  7. problém bude podle mě v řádku if(trim($_POST["formdata"]["repeater"][$i] != '')) ta první závorka má končit jinde...možná tam těch problémů bude víc

  8. Ahoj a díky za tip, ale je tam tato chyba u thoto... zkouším to připojení k databázi.... je to napsané podle dibi dokumentace...chci jenom výpis, abych mohl pracovat s databází....includuji soubor a píše mi to tuto chybu: ten soubor , který inkluduji je tady o post výše, kde píši, akorát jsem tam promazal přísstupy...jinak je mám samozřejmě...

    Fatal error: Class 'dibi' not found in /home/users/ajaxtodecz/tvorbawebupraha.tode.cz/web/app/repeater.php on line 18



    Kód:
    
    <?php 
      error_reporting(E_ALL);
    ini_set('display_errors', '1');
      
     
     require_once(__DIR__ . '/set_dibi.php');
    
      
    
     
    
    
     $result = dibi::query('SELECT * FROM repeater');
    
    foreach ($result as $n => $row) {
        print_r($row);
    }
     
    unset($result);

  9. Ty vobec nevies co robis :) podla tohto tu neovladas ani zaklady.

  10. Citace Původně odeslal craZymans Zobrazit příspěvek
    Ty vobec nevies co robis :) podla tohto tu neovladas ani zaklady.

    Tak mě pouč, já budu rád, aspoň se něco dozvím.....nebo taky jenom za prachy za 1 000 na hodinu ? Co tě sere, že napíšeš takový komentář ? Máš zřejmě problém sám se sebou ne ? :)

    ---------- Příspěvek doplněn 12.03.2019 v 19:39 ----------

    Citace Původně odeslal craZymans Zobrazit příspěvek
    Ty vobec nevies co robis :) podla tohto tu neovladas ani zaklady.
    Existuje ve stejné adresářové struktůře set_dibi.php a repeater.php mělo by to chodit bez toho, ale nechodí.....a vypisuje to tu chybu co jsem posílal....tak zkouším jestli to bude chodit a ani s tím to nechodí..... co dál dej tip ? Nebo jenom za litr ?

    ---------- Příspěvek doplněn 12.03.2019 v 19:48 ----------

    Citace Původně odeslal craZymans Zobrazit příspěvek
    Ty vobec nevies co robis :) podla tohto tu neovladas ani zaklady.
    Když jsem to zkoušel s tou proměnnou a vytvořením nové instance a uložení do $database taky nic...

    Dokumentace | dibi

    Ještě jsem našel nějakou obdobnou chybu na google, kterou upravoval Grudl...ale proč teď ?

    Nebo je třeba registrovat to php v set.php ? A proč... vysvětlit prosím jinak si opravdu budu myslet, že máte problém jenom sám se sebou a se svým egem.

    ---------- Příspěvek doplněn 12.03.2019 v 20:09 ----------

    Citace Původně odeslal craZymans Zobrazit příspěvek
    Ty vobec nevies co robis :) podla tohto tu neovladas ani zaklady.
    Co když je tam třeba composer a sám se updatuje.....

  11. Class Dibi not found. Co to asi muze byt. Ano, ta trida tam proste neni :)

    Patrej dal. Treba zlobi verze PHP, kontroloval jsi? Dibi ma nejakej zakladni load podivnou cestou.

    Jsi na localu nebo serveru? Co __DIR__? Napis absolutni cestu bez konstant.

  12. Na serveru na hostingu.... dir je složka kde se to nachází neni možné, že je to na serveru dnesak mi opravovali ftp ? nešlo.

    tady y to ukazuje, když odendám ten require tak se nic nezmění..

    require_once(__DIR__ . '/set_dibi.php');

    http://tvorbawebupraha.tode.cz/app/repeater.php


    tam jsem to odkryl v htacces jinak to musí být znepřístupněný.....nechce to kvůli tomu někde nějakou registraci třeba v run .php... našel jsem tam frontend.php ten je ve stejném adresáři jako repeater.php ?

    A tohle je run.php

    Kód:
    <?php
    //echo 'Aktualizuji data...';die();
    session_start();	//	PHP session používám na krátkodobé uchování stavů
    
    //	načtení základních funkcí a tříd
    require_once(APP_ROOT.'lib/dibi.min.php');
    $casessDir=APP_ROOT.'autorun/';
    $dir=scandir($casessDir);
    foreach($dir as $item) if(preg_match("/\\.php$/i", $item)) require_once($casessDir.$item);
    
    //	spuštění aplikace
    $sChangeKey=0;
    $sIgonre=0;
    jfApp::Init(APP_ROOT.'data/', $eMode=1, $sChangeKey, $sIgonre);
    //	pořešení případného přesměrování
    $url=explode('?', $_SERVER['REQUEST_URI'], 2);
    if($url[0]!='/'&&preg_match('/\/$/i', $url[0])) {
    	$url[0]=substr($url[0],0,-1);
    	jfApp::Close(implode('?', $url) );
    }
    
    //	načtení konfigurace
    include_once(APP_ROOT.'set.php');
    
    //	načtení pomocných funkcí
    include_once(APP_ROOT.'fce.php');
    
    
    
    
    $path=explode('/', $url[0]);
    //	začátek šablony
    require_once(APP_ROOT.'lib/latte/src/latte.php');
    $tplData=array('contentTpl'=>'', 'title'=>'Stránka neexistuje', 'isHP'=>0, 'db_jednotky'=>$jednotky);
    $template='main.latte';
    
    $destinaceList=0;
    
    
    $dt=date('Y-m-t H:i:s');
    
    
    
    
    $tplData['mainDrobecky']=array(array('nazev'=>'DoSvého', 'url'=>'/'));
    if($path[1]=='clanky'&&$url[0]!='/clanky') $tplData['mainDrobecky'][]=array('nazev'=>'Magazín', 'url'=>'/clanky');
    if(count($path)==2&&$path[1]==''){	//	úvodka
    	require_once(APP_ROOT.'frontend.php');
    	$tplData['isHP']=1;
    	$tplData['slider']=dibi::query('SELECT * FROM `slider` WHERE `published` <= %s AND `timeout` >= %s ORDER BY `priority` DESC LIMIT 50', $date, $date)->FetchAll();
    	//jfApp::x($tplData['slider']);die();
    }
    else{
    	$fn=APP_ROOT.'pages/'.$path[1].'/'.$path[1].'.php';
    	if(file_exists($fn)) require_once($fn);	//	speciální stránky
    	else{
    		require_once(APP_ROOT.'frontend.php');//$tplData['vystup']=GetPG($url[0]);	//	běžné stránky
       ;
    
    	}
    }
    
    $tplData['mainDrobecky'][count($tplData['mainDrobecky'])-1]['posledni']=1;
    
    
    
    
    $tplData['cokies_info']=1;
    if(isset($_COOKIE['cookies_ok'])&&$_COOKIE['cookies_ok']==1) $tplData['cokies_info']=0;
    //jfApp::x($path);
    
    //	if(isset($_GET['shData'])) {jfApp::x($tplData);die();}
    
    //	šablona
    $tpl=new Latte\Engine;
    $tpl->setTempDirectory(APP_ROOT.'/data/tpl');
    $parameters=array('data'=>$tplData, 'post'=>$_POST, 'get'=>$_GET, 'cookie'=>$_COOKIE, 'session'=>$_SESSION, 'host'=>$_SERVER['HTTP_HOST'], 'url'=>$url, 'path'=>$path, 'path_count'=>count($path), 'js_font'=>'<script>try{Typekit.load({ async: true });}catch(e){}</script>');//	$_SESSION
    $tpl->addFilter('CzechDate', function ($sqlFormat, $withSec=false, $withTime=true) {
        return jfApp::CzechDate($s, $withSec, $withTime);
    });
    $tpl->addFilter('CzechDate2', function ($sqlFormat, $withSec=false, $withTime=true) {
    	return jfApp::CzechDate2($sqlFormat, $withSec, $withTime);
    });
    $tpl->addFilter('myBr', function ($str) {
    	return nl2br(htmlspecialchars($str));
    });
    $tpl->addFilter('myTrim', function ($str) {
    	return myTrim($str);
    });
    $tpl->addFilter('myImg', function ($str) {
    	return myImg($str);
    });
    $tpl->addFilter('myNumber', function ($str) {
    	return number_format($str, 0, ',', ' ');
    });
    $tpl->render(APP_ROOT.'templates/'.$template, $parameters);
    // or $html = $tpl->renderToString('template.latte', $parameters);
    
    //jfApp::x($tplData);
    
    //jfApp::x($_SERVER);
    jfApp::Close();
    
    
    
    
    
    
    //jfApp::X($_SERVER);
    jfApp::sSet($namespace='ns1', $name='n', $value=1123);
    jfApp::sClear();


    ---------- Příspěvek doplněn 12.03.2019 v 21:37 ----------

    Když jsem dal tohle tak není definována....

    echo (defined('__DIR__') ? '__DIR__ is defined' : '__DIR__ is NOT defined' . PHP_EOL);

  13. Jak jsem psal:

    Co __DIR__? Napis absolutni cestu bez konstant.

    Vzdyt jen staci cist, co to pise za chyby a musis vedet.

  14. Citace Původně odeslal musil.david Zobrazit příspěvek
    Jak jsem psal:

    Co __DIR__? Napis absolutni cestu bez konstant.

    Vzdyt jen staci cist, co to pise za chyby a musis vedet.
    Tohle to vyhodilo s absolutní cestou: require_once('http://tvorbawebupraha.tode.cz/app/set_dibi.php');

    Fatal error: require_once(): Failed opening required 'http://tvorbawebupraha.tode.cz/app/set_dibi.php' (include_path='.:/opt/remi/php56/root/usr/share/pear:/opt/remi/php56/root/usr/share/php:/usr/share/pear:/usr/share/php') in /home/users/ajaxtodecz/tvorbawebupraha.tode.cz/web/app/repeater.php on line 5

    ---------- Příspěvek doplněn 13.03.2019 v 10:58 ----------

    nikde jsem tam nenašel toto:

    File libs/Dibi.php | Dibi 2.3.5 API documentation

  15. Sorry, myslel jsem relativni samozrejme :)

    Posli mi nejakej pristup. To me fakt zajima, co se tam deje.

  16. Citace Původně odeslal musil.david Zobrazit příspěvek
    Sorry, myslel jsem relativni samozrejme :)

    Posli mi nejakej pristup. To me fakt zajima, co se tam deje.
    tak mi pošli prosím email a já ti pošlu přístup do ftp.

    ---------- Příspěvek doplněn 13.03.2019 v 11:13 ----------

    Citace Původně odeslal musil.david Zobrazit příspěvek
    Sorry, myslel jsem relativni samozrejme :)

    Posli mi nejakej pristup. To me fakt zajima, co se tam deje.
    máš to ve zprávě...

    ---------- Příspěvek doplněn 13.03.2019 v 12:05 ----------


Hostujeme u Server powered by TELE3