Jump to content
GSForum - Segélyvonal

PHP kérdésem van


Recommended Posts

Master_of_Puppets
Posted (edited)

Tudtok olyan szolgaltatót, aki ingyen ad ASP tárhelyet?

 

Ui.: Kösz a linket... tényleg érdekes ;):)

 

Jah meg még egy aprósag, ha már ASP-nél tartunk. A haveromnál a Firefox nem hozza be az ASP oldalakat. :o

 

Ha lehet, itt ne beszéljünk az ASP-rõl többet, hanem a megfelelõ helyen.

Használj ékezeteket, elõbb leírtam hogyan. Mindenkinek kell használni. h.arpad

Edited by h.arpad
Posted

Igen, a hosting abc (hostingabc.hu) ad tárhelyet ASP.NET futtatási lehetőséggel ingyen. A másik meg, hogy az ASP kód, hasonlóan a PHP-hoz a szerveren fut, tehát a böngészőnek semmi dolga vele. Ha megnézed az oldal forrását meglátod. Csak a kimenet van benne, a kód nincs. Tök mindegy, milyen böngészőről beszélünk.

 

 

Master_of_Puppets
Posted (edited)

Jó, rendben. Kösz szépen mindent :) Majd talán sikerül kihozni valamit ebből a PHP vs. ASP csatából.

 

(Tényleg utolsó ASP: A hostingabc.hu-nál csak a domain-t kell fizetni. :muhaha: )

Edited by Spányik Balázs
Posted
Helyes értékek jó konfig esetén (szerintem): 755, és az hozza magával, hogy az umask 022.

Kipróbáltam a 755-öt a tmp könyvtárra. Hát lett is nemulass. :S Fájlfeltöltés semmi. php_errors.log :

[18-Jul-2007 10:02:33] PHP Warning: Unknown: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/home/arpadhhu/:/usr/share/pear/:/usr/share/php/) in Unknown on line 0

Amint visszaállítottam 777-re minden jól ment. Most emiatt vegyem elő a szolgáltatót?

Master_of_Puppets
Posted

Ezzel most mi a gond???

<?php
$kitalalando_szam = 42;
$uzenet = "";
if ( ! isset($_POST['tipp'] ) ) {
    $uzenet = "Welcome to the Admin Panel";
} elseif ( $_POST['tipp'] > $kitalalando_szam ) {
    $uzenet = $_POST['tipp']." Próbáld meg mégegyszer";
} elseif ( $_POST['tipp'] < $kitalalando_szam ) {
    $uzenet = $_POST['tipp']." Próbáld meg mégegyszer";
} else { //egyenlõek kell hogy legyenek
   header("Location:miscella.php")
   exit;
}

$tipp = (int) $_POST['tipp'];
$probalkozasok = (int) $_POST['probalkozasok'];
?>

 

Azt írja ki, hogy az exit-tel van Valami gondja :gonosz:

Posted

A 11. sor végérõl hiányzik a pontosvesszõ.

Master_of_Puppets
Posted

Jahj aztaleborútszivarvégit... :fogatlan: Az életbe' nem jöttem volna rá.

Mikor betöltötte azt hittem ivarszerven lövöm magam :D

Millió köszönet... majd meghívlak egy sörre :hukk:

Master_of_Puppets
Posted
Létrehoztál-e ideiglenes (tmp) könyvtárat a feltöltéshez, és van-e írási jogosultság (CHMOD 777) hozzá? Mekkora méretkorlát van beállítva a POST-nak, a fájlnak, és van-e írási jog a könyvtárhoz (CHMOD 777), amelybe a fájlokat mozgatni szeretnéd? A tárhelyeden mûködik-e ez a függvény?

 

Mi ennek a kimenete feltöltés után, és hol az ûrlap, amivel a fájlt feltöltöd?

 

print_r( $_FILES );

(És javítsd ki a HTML-kódot, az ûrlap HTML-kódját meg idézd be. Az ûrlapnak valahogy így kell kinéznie. 8) )

Kipróbáltam ezt is ( a 8. sorban lévõ maxfilesize elõl hiányzik egy $ jel :) ) Létrehoztam az ideiglenes könyvtárat 777-es jogosultsággal, és szerintem mûködik a tárhelyen ez a függvény. Csak hogyan állítom be hogy a tmp-be mozgassa a fájlokat??

 

Egyébként a print_r ezt dobja ki a lakat.gif-re:

Array ( [uploadfile] => Array ( [name] => lakat.gif [type] => image/gif [tmp_name] => /nfs/extra/c/ck/cklg/phppVtVAs [error] => 0 => 8245 ) )

Posted

Alapból a /tmp-be teszi, méghozzá egy ideiglenes fájlnévvel. Azon ne lepődj meg, hogy a fájlt nem találod a könyvtárban. Ha a mozgatás sikeres, az $cel elérési útvonallal és névvel találod meg.

Fájl mozgatása:

if ( ( isset ( $_FILES['fajlfeltoltes']['error'] ) ) && ( $_FILES['fajlfeltoltes']['error'] == 0 ) ) {
$moved = move_uploaded_file($forras, $cel);
}
// else { további vizsgálat ...

Ha a $moved értéke igaz, sikeres volt az áthelyezés. Ja, és 777-es jog annak a könyvtárnak is, ahová mozgatod.

 

A MAX_FILE_SIZE elé meg nem kell $ !

Master_of_Puppets
Posted

1:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2:  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3:  <html>
4:  <head></head>
5:  <body>
6:  <?php
7:  //a feltölthető maximális méret megadása bájtban
   8:  maxfilesize = 2097152;
9:  //megabájtban:<br \>
10: $maxtoini  = ( $maxfilesize / (1024*1024) );
11: $maxtoini .= 'M';
12: ?>
13: <div>
14: <p>Válaszd ki a fájlt. A mérete nem lehet nagyobb
15: <?php print ( $maxtoini . 'B-nál!' )?></p>
16: <form action="<?php print ($_SERVER['PHP_SELF']); ?>"
17: method="post"
18: target="_self" enctype="multipart/form-data" name="fileup">
19: <input type="hidden" value="<?php print ( $maxfilesize ); ?>"
20: name="MAX_FILE_SIZE" />
21: <input type="file" name="uploadfile" />
22: <p><input type="submit" value="Feltölt" />
23: <!-- visszajelzés -->
24: <?php
25: if ( isset ( $_FILES['uploadfile']['error'] ) )
26: {
27: $hiba = $_FILES['uploadfile']['error'];
28: if ( $hiba == 0 ) {
29: print ('Sikeres feltöltés!');
30: } else {
31: print ('Hiba. Nincs feltöltve. Hibakód: ' . $hiba);
32: }
33: } 
34: ?>
35: </p>
36: </form>
37: </div>
38: </body>
39: </html>

Megkockáztatom, hogy a pirossal kiemelt sorba kell a $ a maxfilesize elé :bizonytalan:

Posted

Oda természtesen igen, csak én nem tudtam melyik kód 8. soráról beszélsz. :upsz: A form-ba nem kell. ;)

 

(Pirossal meg nem emelünk ki sort...):fütyül:

Master_of_Puppets
Posted

Oda gondoltam hogy nem kell, azért írtam úgy, hogy maxfilesize és nem úgy, hogy MAX_FILE_SIZE :)

Posted

Világos. És mûködik a feltöltés?

Master_of_Puppets
Posted

Ráment a fél éjszakám, de most már úgy működik ahogy szeretném. 8) Úgyhogy jövök még egy "Kösz mindent" c. megnyilvánulással. :D:)

Posted

Volna egy kérdésem. Tegnap találkoztam ezzel, azóta is megnyúlt arccal nézek.

 

$module = new $module_name($nInfo->title, $nInfo->content, $nInfo->content_html, $_POST['audience_selected']);

Ez tényleg azt csinálja, amire gondolok?

Posted

Ez most egy PEAR csomag?

Posted

Sajnos erre nem tudok válaszolni, de azt hiszem, nem. Ez egy hírlevél kiküldő modul a Zen-Cart ecommerce rendszerben. A $module_name változó tartalma az, hogy newsletter és van egy ilyen class korábban definiálva. De jól értem, hogy úgy hoz létre egy objektumot, hogy a konstruktorfüggvény neve egy változóban van? Szóval, ez nagyon vad szintaktika számomra.

 

Ja, és az nInfo is óriási! Csináltak egy osztályt, ami semmi mást nem tud, mint kap egy tömböt paraméterként, a konstruktor pedig létrehozza belőle az objektumot, olyan tulajdonságokkal, hogy a tömb indexe a tulajdonság neve, és az adott indexű érték a tulajdonság értéke. Tehát $kosar['alma'], $kosar['korte'], $kosar['szilva']-ból lesz egy olyan akármilyen nevű objektum, mondjuk $gyumolcs, aminek van alma, körte és szilva tulajdonsága (változója). Fogalmam nincs, ennek mi az értelme.

Posted

Akkor képzelj el engem, amikor ahhoz a fejezethez érek, ahol a könyv leírja, hogy az elvont osztályok milyen nagyszerűek, mert majd később kiderül, hogy mik is lesznek valójában, most csak úgy megadjuk a vázát az egésznek.

 

Szóval én még el sem jutottam odáig, hogy miért is érné meg nekem objektum-orientált kódot írni, de már ezzel mérgeznek mindenhonnan. :D Na jó, kíváncsivá tettél, jó lenne, ha be tudnád idézni az egész kódot, vagy nagyobb részletét. Nagy a gyanúm, hogy az utolsó kérdésedre nemigen találsz "értelmes" választ. Egyszerűen "így esett jól" nekik... :hááát: Vagy ha már objektumok, akkor legyenek azok mind? :pislog:

Posted

Hatalmas segítségre lenne szükségem.

Van 1 tába (client) amiben van számomra 4 fontos oszlop. Ezt szeretném átmenteni egy másik (user) táblába.

Az user tábla sem üres ezért a közvetlen másolás sem jött össze.

És ezt a kis programot írtam neki.

De mindig csak az első adatot irja bele 858-szor.

(858 sor van a client táblában amit át akarok menteni)

És íme a kód:

<?php
    include("conf.php");

    if(isset($_POST['save'])){
        $akarmi=1;
    while($akarmi <=858){    $db=mysql_query("Insert Into user (firstname, lastname, card_id, zip, aktiv )" 
                    ."Values('".$_POST['firstname']."',
                             '".$_POST['lastname']."', 
                             '".$_POST['card_id']."',
                             '".$_POST['zip']."',
                             '".$aktiv."' ) ") or die(mysql_error());
                    $akarmi++;
    }
    $msg="Feltöltés kész!><br>";
    }
    
    print $msg;
    
        $db=mysql_query("Select * from client ");
        while ($tomb=mysql_fetch_array($db)){
         ?>
        <form name="sql" method="post" action="sql.php">
        <input type="text" name="card_id" value="<?php print $tomb['card_id']; ?>" ><br>
        <input type="text" name="firstname" value="<?php print $tomb['firstname']; ?>" ><br>
        <input type="text" name="lastname" value="<?php print $tomb['lastname']; ?>" ><br>
        <input type="text" name="zip" value="<?php print $tomb['zip']; ?>" ><br><br><br>

<?php; } ?>
        <input type="hidden" name="save" >
        <input type="submit" value="Elküld">
        </form>

Posted

A INSERT...SELECT SQL-utasítás, mondjuk ennél már nincs is egyszerűbb, és a tábla, amibe másolod nem kell üres legyen.

Egyébként a egyszerűbb phpMyAdmin-nal is egy exportálást végrehajtani úgy, hogy a hozzáfűzést választod, és azután lefuttatod a parancsot az adatbázison, a megfelelő táblanevet behelyettesítve.

 

A MySQL utasítások nincsenek pontosvesszővel lezárva:

11. sor helyesen:

'".$aktiv."' ); ") or die(mysql_error());

19. sor helyesen:

$db=mysql_query("Select * from client; ")

 

A ciklust meg inkább for-ral oldanám meg:

for ($akarmi = 1; $akarmi <=858;  $akarmi++ ) {
}

Legalábbis ezt próbálod valahogy utánozni a while-lal. :)

 

A PHP-nak a form-ból meg valahogy így kell átadni az értékeket:

<input type="text" name="card_id" value="<?php print $_SERVER['PHP_SELF']; ?>" >

Itt a ciklussal nemigen értem mit szeretnél kezdeni, mert mindegyik szövegmezőnek ugyanaz lesz a neve (name), így ezzel nem sokra mész... Én ezt az egész form-ot kihagynám, mert nagyon nyakaterkertnek látszik. Simán add át az értékeket, minek ahhoz form?

Posted

Igazából azért gondoltam a form-ra mert úgy gondoltam, így megoldható.

De nem :)

 

 

Posted

ÁÁÁÁáááááááááá

 

Mekkora lúzer vagyok!

Enyibõl megoldottam:

 

<?php
    include("conf.php");

            $aktiv='nem';
                
        $db=mysql_query("Select * from client");
        while ($tomb=mysql_fetch_array($db)){

    $db1=mysql_query("Insert Into user (firstname, lastname, card_id, zip, aktiv, point )" 
                    ."Values('".$tomb['firstname']."',
                             '".$tomb['lastname']."', 
                             '".$tomb['card_id']."',
                             '".$tomb['zip']."',
                             '".$aktiv."',
                             '".$tomb['point']."' ); ") or die(mysql_error());
                
    }
?>

Posted

Sziasztok!

Egy kis segítségre lenne szükségem. Kezdő vagyok a témában, most próbálok tanulni innen-onnan. Most épp a tanuljuk meg a PHP4 használatát könyvből. Itt a dinamikus képek kezelése alatt hivatkozik egy gd nevű könyvtára, amit le kellene tölteni, de mivel nekem már az 5.2.3-as php van fenn, ezért a php.ini-ben csak kivettem a pontosvesszőt a extension=php_gd2.dll elöl és alakzatokat már tudok létrehozni.

 

Viszont később hivatkozik egy FreeType nevezetű program könyvtára is (amivel szövegeket lehet ki íratni az ábrákra) de nem tudom, hogy ezt le kell-e töltenem, vagy sem. Ha le, akkor melyik verziót és honnan, és a php-n belül melyik könyvtárba kell telepíteni, és mit kell átállítani a php.ini-be, hogy működjön?

 

Bocs amiért ilyen hosszú voltam!

Posted

Futtasd le ezt:

 

<?php
print '<pre>';
print_r (gd_info());
print '</pre>';
?>

 

A kimenet egy asszociatív tömb tartalma kell legyen, amelyben találsz egy "FreeType Support" kulcsot. Ha mellete 1-est látsz ([FreeType Support] => 1), az azt jelenti, hogy a FreeType támogatva van, nincs további tennivalód.

 

Egyébként a GD könyvtár használatakor a TrueType függvényeket is eléred, hacsak nem Linuxon dolgozol, ahol lehetséges, hogy külön be kell ezt állítani.

Posted

Kösz a segítséget!

Most már csak a TrueType betűtípus elérési útját kellene megtalálnom.

<?php
header("Content-type: image/gif");
$kep=imagecreate(400,200);
$piros=imagecolorallocate($kep,255,0,0);
$zold=imagecolorallocate($kep,0,255,0);
$betukeszlet="C:/WINDOWS/Fonts/arial.ttf";
imageTTFtext($kep,50,0,20,100,$zold,$betukeszlet,"Üdvözöljük!" );
imagegif($kep);
?>

Mert így ez nem megy, viszont melyik más helyen lehet még TrueType .ttf kiterjesztésü file?

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...