22786
Html-, css- és php-help
  • MerlinW
    #10622
    Egy form post-al vagy get-el küldhet adatot. Általában postot használjuk <form method="post" action="valami.php">

    mikor submitot nyomsz elpostolja a változókat a szervernek egy tömbben. ez a $_POST tömb. Ez kell használnod. A tömb az elemek name tulajdonságait használja.

    Ha az input
    <input type="text" name="subject" />

    akkor a valami.php-ben $_POST['subject'] fogja tartalmazni a textbox értékét (value)

    tehát pl:

    print 'a levelem témája: '.$_POST['subject'];


    (php dokumentáció első fejezet)

    Ezt alaposan nyálazd át:
    POST W3C

    Ezeket fusd át:
    POST
    Predefined variables
  • Agy Halott #10621
    ez a kod. a formmal hogyan lehetne osszehozni, hogy abbol vegye az adatokat es ugy kuldje el?
    sehogy nem sikerult nekem :(

    <?

    define("EmailNewLine", "\r\n");

    define("DefaultCharset", "iso-8859-1");

    class Email {

    var $To = null;

    var $Cc = null;

    var $Bcc = null;

    var $From = null;

    var $Subject = null;

    var $Content = null;

    var $Headers = null;

    var $Charset = null;

    function Email($to=null, $from=null, $subject=null, $headers=null) {
    $this->To = $to;
    $this->From = $from;
    $this->Subject = $subject;
    $this->Headers = $headers;}

    function IsComplete() {
    return (strlen(trim($this->To)) > 0 && strlen(trim($this->From)) > 0); }

    function Send() {
    if(!$this->IsComplete())
    return false;

    $headers = "Date: " . date("r", time()) . EmailNewLine .
    "From: $this->From" . EmailNewLine;

    if(strlen(trim(strval($this->Cc))) > 0)
    $headers .= "CC: $this->Cc" . EmailNewLine;

    if(strlen(trim(strval($this->Bcc))) > 0)
    $headers .= "BCC: $this->Bcc" . EmailNewLine;

    if($this->Headers != null && strlen(trim($this->Headers)) > 0)
    $headers .= $this->Headers . EmailNewLine;

    $baseContentType = "multipart/" . ($isMultipartAlternative ?
    "alternative" : "mixed");

    $headers .= "MIME-Version: 1.0" . EmailNewLine .
    "Content-Type: $baseContentType; " . EmailNewLine;

    $theemailtype = "text/html";
    if($this->Charset == null)
    $this->Charset = DefaultCharset;

    $thebody = "Content-Type: $theemailtype; charset=$this->Charset" .
    $this->Content . EmailNewLine . EmailNewLine;

    return mail($this->To, $this->Subject, $thebody, $headers); }}

    $Sender = ""; //errol kuldi
    $Recipiant = ""; //ide kuldi
    $Cc = ""; //masolatot kuldi
    $Subject = ""; //targy
    $Html = ""; // uzenet
    $Bcc = "";


    $msg = new Email($Recipiant, $Sender, $Subject);
    $msg->Cc = $Cc;
    $msg->Bcc = $Bcc;
    $msg->Content = $Html;
    $SendSuccess = $msg->Send();
    echo "HTML email was ", ($SendSuccess ? "sent" : "not sent"), "<br>";

    ?>


    <form action="email.php" method="post">
    Felado Email-je:<input name="Sender" type="text"><br>

    Cimzett Email-je:<input name="Recipiant" type="text"><br>

    Tárgy:<input name="Subject" type="text"><br>

    Üzenet:<textarea name="Html" cols="38" rows="5"></textarea><br>

    <input type="submit" id="submit" value="Küld">
    </form>
  • Agy Halott #10620
    koszi
  • Agy Halott #10619
    Mint irtam nekem mar van egy html kuldo kodom (MUKODIK), csak form felulet kellene ra, ahogy MerlinW irta, abbol probalok kesziteni ra egy formot, de nem nagyon sikerul.
  • MerlinW
    #10618
    A html küldés másik fejezet:D Ott kavarni kell komolyabban a meta-kkal. Azt most nem írnám le, ha nem gond.
    De tele van példákkal a net, percen belül találsz rá kismillió megoldást.

    Egyébként nem igazán ajánlom a html alapú leveleket, a kliensek 90%-a dobja őket rögtön a spamkukába:)
  • phoenix1
    #10617
    Hello.

    vagy
  • Agy Halott #10616
    jonak nez ki tok egyszeru a kod, de a html kodot nem kuldi el, vagyis nem jelenik meg semmi, pl egy beszurt kepet akarok elkuldeni, de se a
    <img src=\"http://site.hu/1.jpg\">
    es se a
    <img src="http://site.hu/1.jpg">
    formaban nem jelenik meg a kep az emilben.

    miert?
  • Agy Halott #10615
    $Sender amilyen email cimrol kuldi az uzenetet a kuldo.
  • MerlinW
    #10614
    email.php:

    <?php

    $header = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=iso-8859-2'."\r\n";
    $header .= 'To: '.$_POST['recipiant']."\r\n";
    $header .= 'From: '.$_POST['sender']."\r\n";
    $header .= 'Cc: '.$_POST['cc']."\r\n";

    mail( $_POST['recipiant'].', '.$_POST['cc'], $_POST['subject'], $_POST['html'], $header);

    ?>

    Címzettet, cc-t tudsz többet is megadni a formodon, vessző+space-el ', ' elválasztva

    néha azért olvashatnátok ezt is ;)
  • Cat 02 #10613
    A válasz e-mail a $Sender nem ?
    Ám a nevet hova gondoltad h rakja ?
  • Agy Halott #10612
    volna egy html email kuldo, de nincs hozza form felulet, hanem magaban a phpban vannak az adatok megadva vagyis a php meghivasakor maris kezbesiti az uzenetet.
    en ugy szeretnem, hogy egy form feluleten en irjam be az adatokat es a submit gomb megnyomasaval kuldje el.
    az email kuldobol hianyzik ket adat, mint pl a kuldo neve, valasz email megadasa,

    $Sender = "[email protected]"; //errol kuldi
    $Recipiant = "[email protected]"; //ide kuldi
    $Cc = "[email protected]"; //masolatot kuldi
    $Subject = "ide a targy kerul."; //targy
    $Html = "<img src=\"http://site.hu/1.jpg\">"; //uzenet
    $Bcc = "";


    irtam hozza egy formot:

    <form action="email.php" method="post">
    Felado Email-je:<input name="sender" type="text">
    Cimzett Email-je:<input name="recipiant" type="text">
    Masolatot kuld:<input name="cc" type="text">
    Tárgy:<input name="subject" type="text">
    Üzenet:<textarea name="html" cols="38" rows="5"></textarea>
    <input type="submit" id="submit" value="Küld">
    </form>


    Ebben kernem a segitsegeteket. koszi
  • homeless
    #10611
    2.000$-ért sokkal jobb szervert tudsz venni, mint egy xserve. Amúgy már az xserve is x86-os architektúra, szóval semmivel sem jobb, mint a hp vagy a dell x86-os szerverei. Vagy ha használt mac szerverre gondoltál, akkor én inkább kevesebb ramot tennék bele, vagy kevesebb vinyót, minthogy használt szerverrel bohóckodjak.

    De mindegy mert olyan szervert ami egyszerre kiszolgál 15k usert nem fog találni 20.000 Ft-ért, de még 2000$-ért sem.
  • passatgt
    #10610
    servage.net

    külföldi, kicsit lassú, de simán bírja a 10-15e látogatót tapasztalatom szerint
  • Terensz
    #10609
    Most szerver vagy tárhely kellene 20E Ft-ból? Ha tárhely, akkor milyen ciklusonként szánnál rá 20 ezret? Évente? Havonta? Ha szerver, akkor a 20 ezer kicsit kevés lesz. Esetleg szerver-bérlet? Az havi 10 ezer körül van.

    Szóval neked szerintem kellene egy 200 Mb-os tárhely + korlátlan sql. Ára éves 5 (az olyan is) és havi 12 között mozog. Ha szervert akarsz venni, akkor annak függvénye az ár, hogy mit tud a vas. A 15 ezer látogatóhoz tényleg szervergép kell, pl. asztali pc-t eszedbe ne jusson bevinni egy szerverparkba, mert még a végén kigyújtod a termet a vasaddal. Legfejjebb 100-200 látogató esetén gondolkodj ilyesmiben, nagyon profi hűtéssel. Azt is célszerű átgondolni, hogy a 15.000-es látogató-számot mennyi idő alatt szeretnéd elérni. Ha ez egy 2-3 éves terv, és az első évben előre láthatólag 30-500 napi látogatásod lesz, akkor venni kell egy 50e Ft-os asztali pc-t, és berongyolni vele egy szerverparkba. Ha növekszik a látogató-szám, akkor a profitból azonnal vissza kell forgatni a bótba, és venni kell mondjuk egy 2000$-os MaC servert. (kb ugyanennyibe kerül egy x86-os architektúrájú masina is, csak az némileg rosszabb.)

    Én mindenesetre sok sikert kívánok előre is a portálodhoz.
  • Cat 02 #10608
    20GB-s tárhely nem sok van, szal az biztos drága...
  • Eli Jah
    #10607
    Amúgy kellene egy 20GB-os szerver....
    Mennyiből jön ki ez. Olyan kellene, ami gond nélkül is elbír akár 10-15E látogatóval is egyszerre...
    Gondolom a 20E Ft-ommal nem fogok találni ilyent...
    Hm :/ ?

  • Eli Jah
    #10606
    Sikerült feltennem a JOOMLA-t köszi mindenkinek :)))))
  • warass
    #10605
    ok, köszi, ha nagyon szükséges más megoldást keresek, és akkor a lenti segítségedet alkalmazom.
  • MerlinW
    #10604
    Miután az SG szerver oldali forrása nem publikus, nem megoldható amit szeretnél. Nem tudod elkapni a postolt adatot (azaz a hozzászólást).

    Maximum egy külső alkalmazással, ami időnként beolvassa a weboldalt, és a tartalmából kideríti jött-e új üzenet, majd az küldi levélben. Ez kicsit komplikáltabb.
  • warass
    #10603
    Esgé free :D IFRAME-es beépítés, ingyenes tárhely. Egy kis fórum egy kb. 30 fős lakóközösségnek, szal az igényeknek megfelel :) Ezért a legegyszerűbb megoldás kellene arra, hogy minden regisztrált felhasználó kapjon egy automatikus üzit, hogy a "a fórumra új hsz érkezett".
  • MerlinW
    #10602
    Nagyon egyszerű mail küldés. Google segít a komolyabbakban, ha arra van szükséged.

    Tehát ezt beszúrod az fórumüzenet adatbázis insert után:

    <?php

    //paraméterek
    $tema = 'levél';
    $headers = 'From: [email protected]';
    $uzenet = $_POST['fórum_beviteli_textarea_neve'];

    //itt csinálsz egy lekérdezést a felhasználó táblából:
    $felhasznalo_cimek = mysql_query(' select email from usertabla where email != "" ');

    //ciklussal végigpörögsz a felhasznlálók email címein és mindegyikre elküldöd az anyagot.
    while ( $kinek = mysql_fetch_array($felhasznalo_cimek) )
    {
    mail( $kinek[0], $tema, $uzenet, $headers );
    time_nanosleep(0, 500000000); //fél másodperc pihi, hogy ne akadjanak fent a levelek az smtp szerver spam szűrőjén
    }

    ?>


    Ingyenes tárhely esetén megadhatsz más smtp szervert is, pl gmail-t, stb.:

    valahova a kód elejére:

    ini_set("SMTP","smtp.gmail.com" );
    ini_set('sendmail_from', '[email protected]');
  • passatgt
    #10601
    milyen fórummotor van?
  • Cat 02 #10600
    Ha a fórumüzit berakod egy változóba és mail() függvénnyel elküldöd az nem jó ? Bár free tárhelyeken ez megvan szabva h mennyi lehet.
  • warass
    #10599
    Sziasztok! Azt szeretném , hogy az oldalamon a fórum hszeiről a regisztáráltak kapjanak mailt. Egy társasházi oldal ez, és a lakók igényelték, hogy tudni akarnak róla, ha a fórumra új üzi érkezett :)Előre is kösz!
  • MerlinW
    #10598
    Wordpress-t még könnyebb és tudja amire szükséged van. Ha igény van rá szerver tárhelyet is tudok adni. Dobj egy privit és leboltoljuk.
  • vafeN
    #10597
    Joomla sem nehéz
  • Cat 02 #10596
    e107-et nem nehéz felrakni, és ott lehet ilyet, bár letöltési limitet nem biztos.
  • Eli Jah
    #10595
    SOS!!!

    Ha minden kötél szakad, nincs valaki, aki egy tizesért feltenné a tárhelyre valamelyik progit? Megvan minden elérés, meg jelszó, csak bánázok már egy ideje...
    Ezek a funkciók kellnének: csak regisztrálva lehessen letölteni azt, amit én feltöltök, és egy nap egy kategóriából kettő anyagot. Full ingyenes lenne minden azért. A regisztráltaknak tudjak küldeni hírlevelet, meg tudjak almenüket, kategóriákat létrehozni, ezek alá mennének anyagok, mondjuk mp3-ak.
    Erre melyik lenne alkalmas? Drupla, Joomla, vagy E107?

    Nem csinálja meg egy hozzáértő valaki ezt 10E Ft-ért? Neki biztos meglenne 10 perc alatt... Mire én végzek, addig meg az e107 már e2000 lesz :(

    Ja, jó lenne, ha lenne lehetőség, hogy bannereket, képeket tudjak kitenni a főoldalra, az zsír lenne...

    SOS!!!

    Mit javasoltok?
  • Flamer
    #10594
    htx (y)
  • MerlinW
    #10593
    Hiányzott egy pont a $_SERVER elől. Illetve kellett elé egy http:// is.

    print'<a href="http://'.$_SERVER['HTTP_HOST'].'/'.$filedir.$_FILES['userfile']['name'].'">letoltes</a>';
  • Flamer
    #10592
    Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /temp/up.php on line 23

    szerintem valami aposztrof gondja van de probálokoztam de same hiba :|
    és letöltés helyére lehetne ugyanaz a szöveg amire elvileg linkel?
  • MerlinW
    #10591
    print'<a href="'$_SERVER['HTTP_HOST'].'/'.$filedir.$_FILES['userfile']['name'].'">letoltes</a>';

    További előre definiált PHP változók
  • Flamer
    #10590
    hát igazából vagy én rontottam el vagy te nem értetted csak de nem baj elvállalom én:D
    a probléma hogy nem akarom hogy szerepeljen a weboldal.hu a scriptben. általános dolgot szeretnék ami kiszedi phpval hogy ő most éppen hol van.
    ugye pl hogy kiszolgáló/username vagy valami ilyesmi.

    de ha ez nem megoldható akkor már elkeztem irni egy main var phpt és majd includolgatom igy majd csak egy hejen kell átirni valamit ha kell
  • Terensz
    #10589
    De ki lehet szedni :-)

    $str = '<a href="http://weboldal.hu/'.$filedir.$_FILES['userfile']['name'].'">letoltes</a>';
    $str = str_replace("http://" , "/" , $str);
    $temp = explode("/",$str);

    Ami neked kell, az a $temp[1] :-P De az is lehet, hogy nem jól fogalmaztad meg, hogy mit is szeretnél.
  • Flamer
    #10588
    igenigen. htx. de a
    print'<a href="http://weboldal.hu/'.$filedir.$_FILES['userfile']['name'].'">letoltes</a>';

    a http://weboldal.hu/ -t lehetne valahogy kiszedni phpval? ilyen általános kód kéne :|
  • MerlinW
    #10587
    De legalábbis a ciklus elhagyható.
  • Cat 02 #10586
    Hány dologra vagy kíváncsi ? Mert ha egyre csak, akkor elég a mysql_result.
  • MerlinW
    #10585
    Miután még mindig (két hete ezt papoljuk...) nem ellenőrzöd a query kimenetét így em tudom. Ha ez a teljes kód, akkor az is ok lehet, hogy nem kapcsolódsz az adatbázishoz (mysql_connect), hiszen a beadott változóknak nem látom az értékét.

    <?php

    $link = NULL;
    $host = "localhost";
    $username = "";
    $password = "";
    $db_name = "";

    if ( !$link ) $link = mysql_connect($host, $username, $password);

    if ( !$link ) echo 'kapcsolodasi hiba';
    elseif ( !mysql_select_db($db_name) ) echo 'adatbazis hiba';
    else return $link;

    if ( isset($_GET['id']) )
    $profil = mysql_query("SELECT * FROM pm WHERE id='".$_GET[id]."' ")
    or die ("hibás lekérdezés");

    while ( $s=mysql_fetch_array($profil) )
    {
    $message = $s['message'];
    echo '
    Tárgy: '.$s['targy'].'<br>
    Dátum: '.$s['date'].'<br>
    Üzenet: '.$message.'<br>
    ';
    }

    ?>

    1. töltsd ki az elejét, tedd egy külön php-ba és futtasd le, majd írd meg mit dob ki.
    2. formázd a kódodat
    3. kezeld a hibákat
    4. olvass el pár könyvet
  • Cat 02 #10584
    Utána leesett h ez nem is lesz jó, mert óraátállításnál bezavart, szal maradt a másik :D
  • MerlinW
    #10583
    Jaj mááár...:)

    $kovnap = mktime(0,0,0,date("n"),date("j")+1,date("Y"));
    echo date("D F d Y",$kovnap);