Jump to content
GSForum - Segélyvonal

PHP kérdésem van


Recommended Posts

Posted

UTF-8 with BOM a kódolása az oldalnak vagy UTF-8 without BOM?

A második legyen.

Posted

Úgy néz ki ez volt a hiba köszönöm!

Posted
UTF-8 with BOM a kódolása az oldalnak vagy UTF-8 without BOM?

A második legyen.

Mármint a forrásfájl kódolása? Mert az oldalnak hogyan és hol állítasz be ilyet? :huh:

Posted

Természetesen a forrás fájl kódolásáról volt szó.

Posted

Nem tudom ide kéne ironom vagy a JS topikba..

 

Egy ûrlap adatait ellenõrzõm.. és azt szeretném hogy hiba esetén alert ablakban jöjjön fel az üzenet.

    if(empty($_POST['nev'])){         $err_msg .="Hiányzik a név!";}
    if(empty($_POST['lakcim'])){     $err_msg .="Hiányzik a lakcím!";}
    if(empty($_POST['telefon'])){     $err_msg .="Hiányzik a telefonszám!";}

 

Majd ez:

if(  (isset($err_msg) ) AND ($err_msg != "" ) ){
            echo "<script type=\"text/javascript\">alert('".$err_msg."');</script>"; 
        }

 

Viszont akkor nincs benne sortörés, hanem minden hibaüzenet egymás mellet jelenik meg. Ha \n-t teszek bele akkor meg sem jelenik a hibaüzenet.

Mit rontok el?

Posted

foreach ($this->_dc->aclsessions()->Where(aclsessions::MemberID, $user->MemberID())->Select() as $value) {
    echo $value->SessionID();
    $this->_dc->aclsessions()->InsertOnSubmit($value);
}

Képzeljétek el a fenti kódrészt agyonreferenciázva, gyakorlatilag minden mindennek a referenciája. Ha kiíratom a SessionID-t, akkor minden aktuális $value különbözik, de, mikor be kellene szúrni az adatbázisba, akkor mindegyik ugyanaz az elem lesz.

 

Akkor képes helyesen mûködni, ha a foreach referenciaként megy végig az elemeken (de ebben az esetben le kell mentenem egy külön változóba azt, amit így nem), vagy az InsertOnSubmit-nak nem szabad referenciaként átvenni az objektumot.

Akkor is tud mûködni, ha a $value-t mindig unset-elem.

 

Valami megoldás erre a problémára? :(

  • 2 weeks later...
Posted

Ott szexuáltam el, hogy a referencia referenciája már-már memóriamutató, magyarul az objektumokat nem kellene erõltetve referenciaként átvenni (&$). :facepalm:

Posted

Lenne egy apró kérdésem.. Adott 1 lekérdezés amivel egy xml-t akarok csinálni. Mind a php mind az xml UTF-8 ban van elmentve. Viszont a legenerált xml-t megnézve (notepad++) az ékezetes karakterek nem jok.

 

Viszont ha ezt a php-t kicsit módosítom, és nem xml-t hanem csv-t generálok, az nagyon szépen lejön.

 

CSV:

    while($term=mysql_fetch_assoc($terms)){
                
        $price = str_replace(".00", "", $term['price']);
        
            $csv_output .=    $term['productid'].";";
            $csv_output .=    $term['category'].";";
            $csv_output .=    $term['manufacturer'].";";
            $csv_output .=  $term['product'].";";
            
            $csv_output .=  $price.";";
            $csv_output .=  $img.";";
            $csv_output .=  $url.";";
            $csv_output .= clean($desc).";";
                       
            $csv_output .= "\n";
    
    }
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=".$filename.".csv");
echo $csv_output;
exit;

 

És az XML:

 $xml_output .= "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
   $xml_output .= "<Catalog date=\"".date('Y.m.d H:i:s')."\">\n"; 
   
    while($term=mysql_fetch_assoc($terms)){
      
                $desc = substr($desc, 0, 500);
                
        $price = str_replace(".00", "", $term['price']);
                
                $product = substr($term['product'], 0, 100);
                
                        $xml_output .="<product>\n";
            
                            $xml_output .=  "<id>".$term['productid']."</id>\n";
                            $xml_output .=  "<name>".$product."</name>\n";
                            $xml_output .=  "<desc>".clean($desc)."</desc>\n";
                            $xml_output .=  "<price>".$price."</price>\n";
                            $xml_output .=  "<status>-</status>\n";
                            $xml_output .=  "<category>".$term['category']."</category>\n";
                            $xml_output .=  "<urlsite>".$url."</urlsite>\n";
                            $xml_output .=  "<urlpicture>".$img."</urlpicture>\n";
                        
                        $xml_output .="</product>\n";

    
    }
    $xml_output .= "</Catalog>\n";
    
    $text = fopen("pb.xml","w") or die("Nem létezik!");
    fwrite ($text, $xml_output);
    fclose($text);

Posted

És milyen kódolású az adatbázis? Csak nem Latin1 vagy 2?

Posted

Tudtommal Latin2

 

De van ilyen beállítva:

mysql_query("SET NAMES latin2_hungarian_ci",$dbConn);

Posted

Annak nem sok értelme van, de lehet, hogy a MySQL van olyan intelligens, hogy rájön, hogy SET NAMES latin2-re gondoltál. :)

 

Na, tehát ha latin2-ben jönnek az adatok, akkor egy UTF-8-as XML-hez nyilván konvertálni kéne õket UTF-8-ra --> iconv() címû függvény.

Posted

Egy kérdésem lenne..

Adott 1 form benne input mezõkkel.

 

Azt hogy ki van-e töltve így ellenõzõm:

if(empty($_POST['akarmi'])){....}

 

Nomármost ha 0 van beírva akkor olyan mintha üres mezõ lenne.

 

Ez mitõl van?

Posted

Ez empty() nem csak a semmire ad vissz true-t. Használd a $_POST[""] == ""-t

Posted

http://hu.php.net/empty

 

The following things are considered to be empty:
  • "" (an empty string)
  • 0 (0 as an integer)
  • 0.0 (0 as a float)
  • "0" (0 as a string)
  • NULL
  • FALSE
  • array() (an empty array)
  • var $var; (a variable declared, but without a value in a class)

Tessék olvasni a PHP doksit! AZÉRT VAN!

Posted

@Balázs:

okés! ;)

 

Lenne 1 apró hibám..

Ha kitöltöm a formot, és leellenörzök mindent akkor akakrok 1 pdf-et generálni.. de saja nem tudok mert:

FPDF error: Some data has already been output, can't send PDF file

Ezt kapom..

 

Pedig nincs semmi kimenet elõtte...

if(isset($_POST['create'])){

if(empty($_POST['elso'])){ $err_msg_m .= "Üres Mezõ!\\n"; }
if(empty($_POST['masodik'])){ $err_msg_m .= "Üres Mezõ!\\n"; }

  if($err_msg_m == "" ){
    include 'pdf_generator.php',
  }
}

Posted

Hát ennyibõl nem sokat látni, valami a pdf_generator.php-ban lehet. Ha jól sejtem, ez külsõ kiegészítõ, ott nézz körül jobban, mire van szükség, mikor dob ilyen üzenetet.

Posted

Ha kihagyom az ellenõrzést, és a form action paraméterébe egybõl a pdf_generator.php-t írom akkor tökéletesen legenerálja.

Posted

Ez ugyanaz a történet, mint a fejléc kiküldéskor, illetve a redirectnél: valamit már kiküldtél az outputra, ezért nem tud PDF-et letöltésre küldeni, azt ugyanis a header kiküldésével tenné. Van egy üres sor a <?php előtt a fájlban, valami debug adat vagy hasonló.

Posted

Azt hiszem mielőtt megkérdezek valamit legközelebb alszok pár órát és ismét megnézem a kódot....

Posted

Egy nagyon amatõr kérdésem lenne.

Van 2 tábla, egyezõ oszlopnevekkel, amiben van egymásra hivatkozó adatok. Hogyan tudok hivatkozni az adott tába, adott oszlopára.

 

pl:

Táblák:

a

 

id, nev

 

b

id, nev, a_id

 

$sql=dbQuery("SELECT a.*, b.* FROM  a a,  b b WHERE a.id = b.a_id ");
while ($tomb = dbFetchAssoc($sql)){
    echo "eredmény:".$tomb['nev']."<br>"; //<-- Na itt hogyan kell hivatkozni, hogy az "a" vagy  a "b" tábla nev oszlopát akarom kiirni.
}

Posted

A lekérdezésben nevet tudsz adni az oszlopoknak. Pl.

SELECT a.nev a_nev, b.nev b_nev FROM ...

Posted

OK ez világos..

 

és ha 3 táblám van egyenként 20 oszloppal? Azt ne mond hogy akkor le kell írnom az összes oszlopnevet? :)

Posted

Nem, csak azokat, amikkel összekapcsolod a táblákat a lekérdezéshez. A products táblámban 52 oszlop van, de bármihez kapcsolom (14 másik táblához tudom), jobbára vagy az id vagy a barcode mezõknél fogva teszem ezt.

 

De ha olyan lekérdezést csinálsz, ahol a 2-3 tábla összes oszlopának egyeznie kell, akkor kénytelen leszel leírni 20-szor, de akkor megállapíthatjuk, hogy elég furán van szervezve az adatbázisod.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...