22786
Html-, css- és php-help
  • Terensz
    #10222
    Hali!

    A "global" parancs (vagy function) mi jót csinál?
    A php.net nem tud róla semmit.
  • QPR
    #10221
    Hali,
    biztos nagyon triviális lehet a gond, de visszadob az easyPHP csatlakozáskor...

    $SERV = "localhost";
    $USER = "root";
    $PASSW = "";
    $DBNAME="riki";
    function sql_csat() {
    global $SERV;
    global $USER;
    global $PASSW;
    global $DBNAME;
    $link = mysql_connect($SERV,$USER,$PASSW) or die ('Hiba a mysql-hez valo csatlakozaskor');
    if (!mysql_select_db($DBNAME,$link)) { die('Nem kapcsolodott: '.mysql_error()); }
    }

    és ezt írja ki...

    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in C:\Program Files\EasyPHP 3.0\www\index.php on line 11

  • Terensz
    #10220
    Kb 20 hsz-szel ezelőtt szóbajött a php-mailer.

    Itt az én verzióm, használjátok egészséggel.

    Röviden:
    - "classes/phpmailer" könyvtár - ne molesztáld, ne nevezd át.
    Ha nagyon szeretnéd más nevű mappába tenni, akkor a class.phpmailer.php 602. sorában is át kell írnod az elérési utat.
    - "config" könyvtár - a TE config könyvtárad, a globálok vannak benne, át kell írnod őket (nyilván) hogy működjön a küldés.
    Ha a te globáljaid máshol vannak, az index.php-ban kell csak az inklúd elérési útját kicserélned.
    - "inc" - benne van a saját kreálású mailer function-öm.
  • Agy Halott #10219
    kicsit kutakodtam es vmire figyelmes lettem. a kodban ez all:

    fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");


    ez pedig a megadott stream 7.html oldalanak adatait nezi, ami ez:
    http://72.13.81.178:8010/7.html

    sajnos itt a radio neve es stilusa nincs azert nem fog sikrulni soha kiolvastatni. erre jottem ra, vagyis itt az lehet a megoldas, hogy nem a 7.html oldalrol kell kiolvastatni az cuccot, hanem az index.html-rol:
    http://72.13.81.178:8010/index.html

    itt jon az a dolog amit irtal, hogy 1000 byteot ovas be a script, de az index.html oldal joval tobb es itt mar nem tudom megoldani, hogy CSAK a kivant adatokat irja ki.

    tehat abban kernem segitseged, hogy
    1. mekkora byteot kell beallitani, hogy minden kivant adatot megkapjak?
    2 milyen szamokat kell beirni a $text[] reszbe, hogy CSAK az a 7 kivant adat jelenjen meg?


    magyarul a http://72.13.81.178:8010/index.html oldalrol a 7 infot szeretnem kiirattatni SEMMI MAST NEM, vagyis a forrsban is csak az adatok szerepeljenek.

    koszi
  • Agy Halott #10218
    nem nem, en nem radiot csinalok, hanem csak osszegyujtom oket egy online hallgathato oldalon.
    ezert kellene a cucc, hogy kozvetlen adatot mutassa az oldal a latogatok szamara, ne pedig amiket en manualisan az sqlbe mentek, mert nagyon gyakori, hogy egy radio elkezdi mukodeset 128kbps-el en berakom a listaba es egy het mulva atvalt 96kbps-re. en meg mivel nem ellenorzom mindig a tobb mint 700 radiot ezert hibas adatot mutat. :D
  • joebacsi
    #10217
    CSS Gradient Text

    határozottan szexuális és ie is megeszi :)
  • Terensz
    #10216
    Amúgy Agy Halott, meg szabad kérdeznem, hogy mivel streamelsz?

    Egyszer kerestem mp3 stream servert, de normálisra nem sikerült bukkannom.
  • Terensz
    #10215
    Homeless, igazad van!

    Agy Halott:

    Ezzel a ciklussal szokták a php oktatóanyagok a teljes file-t kiolvasni:
    $handle = fopen($filename, "r");
    while (!feof($handle)) {
    $contents .= fread($handle, 8192);
    }

    De elvileg így is működik:
    $handle = fopen($filename, "r");
    $contents = fread($handle, filesize($filename));
  • homeless
    #10214
    Ezzel csak 1000 byteot olvas be. Nem tudom mekkora a file amit beolvasol, de ha nagyobb mint 1000 byte, akkor még szép hogy nincs ott az a 2 adat ami neked kell.
  • ldavid
    #10213
    kösz!
  • passatgt
    #10212
    most csak kiírja az értéket, de gondolom majd eltárolod mysql-ben

    felraktam egybe bezippelve, ott a link
  • Agy Halott #10211
    figyelek, mit javasolsz? :D
  • ldavid
    #10210
    thx! nekem jól jönne, később megnézem (ertekeles.php mit tartalmaz?)

    korábban ezt próbáltam de valamiért nem akart működni
  • passatgt
    #10209
    Szükségem volt egy youtube szerű értékelős dologra

    Ha esetleg valakinek kéne:

    http://passatgt.i-host.hu/rating/
  • homeless
    #10208
    $read = fread($open,1000);

    Ide minek az 1000?
  • Agy Halott #10207
    rendben megfogadom a tanacsod es atirom a kodot amint sikerul kijelezteni vhogy anevet es stilust. :)
  • Agy Halott #10206
    kesz van, de vmiert a radio neve es stilusat itt sem irja ki, es a szamozas is csak 6ig tart.
  • Terensz
    #10205
    NEM neked akartam tanácsolni, hanem Agy Halottnak!!4
  • homeless
    #10204
    lol

    Kösz a jó tanácsot
  • Terensz
    #10203
    Bocs, mellékattintottam. De látom, zsinórban

    Az elmúlt x hsz-t Agy Halottnak szántam, nem homelessnek!!4

    Hát ez van
  • Terensz
    #10202
    Amúgy nem belekötni akarok a kódodba, vagy hasonló, de szerintem ragaszkodj a szép kódhoz, egyik php elfogadja ezt a formátumot, mint pl.

    "Stream Title: $text[7]<br>"

    de valamelyik így fogadja csak el:

    "Stream Title: ".$text[7]."<br>"

    Meg szerintem áttekinthetőbb is ez a második verzió.
  • homeless
    #10201
    Mivan?
    homeless != Agy Halott
  • Terensz
    #10200
    Mármint most a $text tömböd tartalmát ki kell, hogy írja.
  • Terensz
    #10199
    Most jónak kell lennie.
  • homeless
    #10198
    Ne ez echo-n belül legyen a print_r, hanem így:
    <?
    $open = fsockopen("72.13.81.178","8010");
    if ($open) {
    fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
    $read = fread($open,1000);
    $text = explode("content-type:text/html",$read);
    $text = explode(",",$text[1]);
    } else { $er="Connection Refused!"; }
    ?>
    <?
    if ($text[1]==1) { $state = "Up"; } else { $state = "Down"; }
    if ($er) { echo $er; exit; }
    echo "Stream Kbit/s: $text[5]<br>
    Listener Online: $text[0]<br>
    Listener Max: $text[3]<br>
    Listener Peak: $text[2]<br>
    Stream Title: $text[7]<br>
    Stream Genre: $text[8]<br>
    Current Song: $text[6]";
    print_r($text);
    ?>
  • Terensz
    #10197
    Döntsd el:

    <?php
    print_r($text);
    ?>

    vagy

    <?php
    echo var_dump($text);
    ?>

    Mindkettő ugyanazt csinálja, a legmélyebb szintig kilistáz egy akárhány dimenziós tömböt.
    De nálad szerintem a kettő kombinációja van:

    <?php
    echo print_r($text);
    ?>
  • Agy Halott #10196
    print_r(Array); <---ezt dobja de a linken megnezheted mert benne hagytam a print_r($text); reszt.

    most hogyan tovabb? pl a $text[?] resznel mi alapjan dontom el hogy a ? helyere milyen szamot kell irni?
  • homeless
    #10195
    Nézd meg, hogy mi van a $text tömbbe:
    print_r($text);
  • Agy Halott #10194
    volna egy olyan problemam, hogy shoutcast adatokat szeretnek kiiratni megadott IP cimrol es PORTrol, de vmiert nem 100%os a mukodese a kodnak, mivel a radio cimet es a stilusat nem jelzi ki.

    http://omvan.110mb.com/test/shoutcast.php

    <?
    $open = fsockopen("72.13.81.178","8010");
    if ($open) {
    fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
    $read = fread($open,1000);
    $text = explode("content-type:text/html",$read);
    $text = explode(",",$text[1]);
    } else { $er="Connection Refused!"; }
    ?>
    <?
    if ($text[1]==1) { $state = "Up"; } else { $state = "Down"; }
    if ($er) { echo $er; exit; }
    echo "Stream Kbit/s: $text[5]<br>
    Listener Online: $text[0]<br>
    Listener Max: $text[3]<br>
    Listener Peak: $text[2]<br>
    Stream Title: $text[7]<br>
    Stream Genre: $text[8]<br>
    Current Song: $text[6]";
    ?>


    van vkinek vmi otlete miert? koszonom
  • Máté12
    #10193
    Jó rendben eddig a kódom: Hát ugyan az mint az elöbb csak az akotdGen() include-olva. Letöltöttem a PHPMailert. Azzal csak annyit kell csinálnom, hogy feltöltöm a tárhelyemre (az oldallamal egy könyvtárba)??
  • Terensz
    #10192
    Tegyél rendet a kódjaidban!

    Én a function-öket egy func.php-ban tárolom. Az index.php, admin.php stb... úgy kezdődik, hogy
    <?php
    session_start();
    include('globals.php');
    include('func.php');

    Az aktkodGen() függvényt oda tedd bele. Nincs keresnivalója a formkezelő php-dban.
    Meg töltsd le a phpMailert.
  • Máté12
    #10191
    És az egész kód:

    <?php

    $conn = mysql_connect('1', '1', '1');
    mysql_select_db('1');


    $username = '';
    $password = '';
    $email = '';
    $neme = '';
    $vezetek = '';
    $kereszt = '';
    $ev = '';
    $honap = '';
    $nap = '';
    $becenev = '';
    $cel = '';
    $bemutatkozas = '';
    $msn = '';
    $skype = '';

    $hibastr = '';

    if(ISSET($_POST['elkuld']))
    {
    $username = htmlspecialchars($_POST['username']);
    if($username == '')
    {
    $hibastr .= 'A felhasználónév mező hiányzik<br />';
    }

    $password = htmlspecialchars($_POST['password']);
    if($password == '')
    {
    $hibastr .= 'A jelszó mező hiányzik<br />';
    }


    $email = htmlspecialchars($_POST['email']);
    if($email == '')
    {
    $hibastr .= 'Az e-mail mező hiányzik<br />';
    }

    $neme = htmlspecialchars($_POST['neme']);
    if($neme == '')
    {
    $hibastr .= 'A nemedet nem választottad ki!<br />';
    }

    $vezetek = htmlspecialchars($_POST['vezetek']);
    if($vezetek == '')
    {
    $hibastr .= 'Nem írtad be a Vezeték neved!<br />';
    }

    $kereszt = htmlspecialchars($_POST['kereszt']);
    if($kereszt == '')
    {
    $hibastr .= 'Nem írtad be a kereszt neved!<br />';
    }
    $ev = htmlspecialchars($_POST['ev']);
    if($ev == '')
    {
    $hibastr .= 'Nem választottad ki az évedet!<br />';
    }
    $honap = htmlspecialchars($_POST['honap']);
    if($honap == '')
    {
    $hibastr .= 'A hónapodat nem választottad ki<br />';
    }
    $nap = htmlspecialchars($_POST['nap']);
    if($nap == '')
    {
    $hibastr .= 'Nem választottad ki a napod!<br />';
    }
    $cel = htmlspecialchars($_POST['cel']);
    if($cel == '')
    {
    $hibastr .= 'Nem választottad ki a célodat!<br />';
    }
    }

    function aktkodGen()
    {
    $date = date('Y-m-d');
    $validcode1 = mt_rand( 10000000 , 99999999 );
    $datestr = str_replace("-" , "" , $date);
    $validcode2 = mt_rand( 10000000 , 99999999 );
    $validcode = $validcode1.''.$datestr.''.$validcode2;

    return $validcode;
    }

    $aktkod = aktkodGen();
    $body = regBody($username , $password , $aktkod);

    if(mailSend($email , $GLOBALS['regsubject'] , $body , false , true))
    {
    echo 'A regisztráció sikeres.';
    $reg = 1;
    $disabledStr = ' READONLY';

    mysql_query("INSERT IGNORE INTO login (username, password, email, neme, vezetek, kereszt, ev, honap, nap, becenev, cel, bemutatkozas, msn, skype)
    VALUES ('$username', '$password', '$email', '$neme', '$vezetek', '$kereszt', '$ev', '$honap', '$nap', '$becenev', '$cel', '$bemutatkozas', '$msn', '$skype') ");
    }
    else
    {
    $hibastr = 'Nem sikerült a levél küldése.<br />';
    }
    ?>
  • Máté12
    #10190
    Fatal error: Call to undefined function: regbody() in /reg.php on line 96

    A 96ik sorom: $body = regBody($username , $password , $aktkod);
  • Terensz
    #10189
    function aktkodGen()
    {
    $date = date('Y-m-d');
    $validcode1 = mt_rand( 10000000 , 99999999 );
    $datestr = str_replace("-" , "" , $date);
    $validcode2 = mt_rand( 10000000 , 99999999 );
    $validcode = $validcode1.''.$datestr.''.$validcode2;

    return $validcode;
    }
  • Máté12
    #10188
    Hu muszály olyat, hogy e-mailt küldjön? Mondjuk nagyon hasznos lenne...
    ez az aktodGen()-nek leirnád a kódját?
  • Terensz
    #10187
    Eddig zsír.

    Most jön az, hogy mit is kezdj ennyi posttal.

    Levelező-motorod van?

    Nálam az a rész jön, hogy generálok egy aktiváló-kódot, és ha nincs hiba, elküldöm a mailt a linkkel.

    $aktkod = aktkodGen(); // ez saját function
    $body = regBody($username , $password , $aktkod); // ez szintén saját gyártmányú function, összeállítja az aktiváló mailt

    // a mailSend function a phpMailer osztály sajátja
    if(mailSend($email , $GLOBALS['regsubject'] , $body , false , true))
    {
    echo 'A regisztráció sikeres.';
    $reg = 1;
    $disabledStr = ' READONLY';

    mysql_query("INSERT IGNORE INTO login (username, password, email, neme, vezetek, kereszt, ev, honap, nap, becenev, cel, bemutatkozas, msn, skype)
    VALUES ('$username', '$password', '$email', '$neme', '$vezetek', '$kereszt', '$ev', '$honap', '$nap', '$becenev', '$cel', '$bemutatkozas', '$msn', '$skype') ");
    }
    else
    {
    $hibastr = 'Nem sikerült a levél küldése.<br />';
    }
  • Máté12
    #10186
    <?php

    $conn = mysql_connect('1111', '111', '111');
    mysql_select_db('111');


    $username = '';
    $password = '';
    $email = '';
    $neme = '';
    $vezetek = '';
    $kereszt = '';
    $ev = '';
    $honap = '';
    $nap = '';
    $becenev = '';
    $cel = '';
    $bemutatkozas = '';
    $msn = '';
    $skype = '';

    $hibastr = '';

    if(ISSET($_POST['elkuld']))
    {
    $username = htmlspecialchars($_POST['username']);
    if($username == '')
    {
    $hibastr .= 'A felhasználónév mező hiányzik<br />';
    }

    $password = htmlspecialchars($_POST['password']);
    if($password == '')
    {
    $hibastr .= 'A jelszó mező hiányzik<br />';
    }


    $email = htmlspecialchars($_POST['email']);
    if($email == '')
    {
    $hibastr .= 'Az e-mail mező hiányzik<br />';
    }

    $neme = htmlspecialchars($_POST['neme']);
    if($neme == '')
    {
    $hibastr .= 'A nemedet nem választottad ki!<br />';
    }

    $vezetek = htmlspecialchars($_POST['vezetek']);
    if($vezetek == '')
    {
    $hibastr .= 'Nem írtad be a Vezeték neved!<br />';
    }

    $kereszt = htmlspecialchars($_POST['kereszt']);
    if($kereszt == '')
    {
    $hibastr .= 'Nem írtad be a kereszt neved!<br />';
    }
    $ev = htmlspecialchars($_POST['ev']);
    if($ev == '')
    {
    $hibastr .= 'Nem választottad ki az évedet!<br />';
    }
    $honap = htmlspecialchars($_POST['honap']);
    if($honap == '')
    {
    $hibastr .= 'A hónapodat nem választottad ki<br />';
    }
    $nap = htmlspecialchars($_POST['nap']);
    if($nap == '')
    {
    $hibastr .= 'Nem választottad ki a napod!<br />';
    }
    $cel = htmlspecialchars($_POST['cel']);
    if($cel == '')
    {
    $hibastr .= 'Nem választottad ki a célodat!<br />';
    }
    }

    ?>
  • Máté12
    #10185
    Ezt megcsináltam de most semmit se csinál :S
  • Terensz
    #10184
    Az ezsgé javascriptje nem mindeig működik jól. Ez válasz akart lenni Máté12 üzenetére.
  • Terensz
    #10183
    $conn = mysql_connect('111', '111', '111');
    mysql_select_db('111');

    $username = $_POST['username'];
    $password = $_POST['password'];
    $email = $_POST['email'];
    $neme = $_POST['neme'];
    $vezetek = $_POST['vezetek'];
    $kereszt = $_POST['kereszt'];
    $ev = $_POST['ev'];
    $honap = $_POST['honap'];
    $nap = $_POST['nap'];
    $becenev = $_POST['becenev'];
    $cel = $_POST['cel'];
    $bemutatkozas = $_POST['bemutatkozas'];
    $msn = $_POST['msn'];
    $skype = $_POST['skype'];

    if(ISSET($_POST['elkuld']))
    {
    mysql_query("INSERT IGNORE INTO login (username, password, email, neme, vezetek, kereszt, ev, honap, nap, becenev, cel, bemutatkozas, msn, skype)
    VALUES ('$username', '$password', '$email', '$neme', '$vezetek', '$kereszt', '$ev', '$honap', '$nap', '$becenev', '$cel', '$bemutatkozas', '$msn', '$skype') ");
    header("Location: belepes.php");
    }

    Mondjuk én eleve nem így szoktam.
    Írtam egy reg motort, ami egy configgal kezdődik, és ott adom meg, hogy milyen adatokat fog a form bekérni. De ezt neked nem kötelező így csinálni.
    Ezután jön a postok feldolgozása: if(ISSET($_POST['elkuld']))
    itt külön-külön vizsgálom a postokat. Pl. emailt egy email ellenőrző functionnal. Persze össze is állítok egy hibalistát, amit sikertelen reg esetén ki is tolok a form fölé.

    A mysql adatoknak a munkát végző php-ban szerintem semmi keresnivalója nincs, azt a globals.php-ban adom meg, az pedig a főoldalba (index.php, admin.php, amit meg fogok jeleníteni) include-olom be.

    Tehát a form php-jának az elmélete (énszerintem)

    // Először kinullázom az értékeket, hogy ne legyen majd olyan $, ami nincs definiálva
    $username = '';
    $password = '';
    $email = '';
    $neme = '';
    $vezetek = '';
    $kereszt = '';
    $ev = '';
    $honap = '';
    $nap = '';
    $becenev = '';
    $cel = '';
    $bemutatkozas = '';
    $msn = '';
    $skype = '';

    $hibastr = '';

    if(ISSET($_POST['elkuld'])) // name="elkuld" a form submitja
    {
    $username = htmlspecialchars($_POST['username']);
    if($username == '')
    {
    $hibastr .= 'A felhasználónév mező hiányzik<br />';
    }

    $password = htmlspecialchars($_POST['password']);
    if($password == '')
    {
    $hibastr .= 'A jelszó mező hiányzik<br />';
    }


    $passwordRe = htmlspecialchars($_POST['passwordRe']);
    if($passwordRe == '')
    {
    $hibastr .= 'A jelszó megerősítése mező hiányzik<br />';
    }

    if($_POST['passwordRe'] != $_POST['password'])
    {
    $hibastr .= 'A jelszó és jelszó megerősítése mezőknek meg kell egyezniük<br />';
    }

    // ÉS ÍGY TOVÁBB az összes adattal
    }

    Azokat a változókat, amiket te a postból (tök fölöslegesen) képeztél, azokat ugye egyesével képezem le ebben a scriptben, ha épp jónak látom.
    De pl. a jelszó mező esetében dönthetsz, hogy üres legyen, vagy esetleg a postot berakod újra a jelszó inputjába értéknek. (pl. <input type="password" name="password" value="<?php echo $_POST['password']; ?>">)

    Mindenesetre a többi értéket ezzel az analógiával pakold vissza a formba, hogy szegény regisztrálónak ne kelljen vele cumiznia a sikertelen postolás (lehagyta a pontot az emailból) után.