22786
Html-, css- és php-help
-
#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
-
#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. -
#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 -
#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 -
#10217 CSS Gradient Text
határozottan szexuális és ie is megeszi :) -
#10216 Amúgy Agy Halott, meg szabad kérdeznem, hogy mivel streamelsz?
Egyszer kerestem mp3 stream servert, de normálisra nem sikerült bukkannom. -
#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! -
#10212 most csak kiírja az értéket, de gondolom majd eltárolod mysql-ben
felraktam egybe bezippelve, ott a link -
#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 -
#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? -
#10207 rendben megfogadom a tanacsod es atirom a kodot amint sikerul kijelezteni vhogy anevet es stilust. :) -
#10206 kesz van, de vmiert a radio neve es stilusat itt sem irja ki, es a szamozas is csak 6ig tart. -
#10205 NEM neked akartam tanácsolni, hanem Agy Halottnak!!4 -
homeless #10204 lol
Kösz a jó tanácsot -
#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 -
#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 -
#10200 Mármint most a $text tömböd tartalmát ki kell, hogy írja. -
#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);
?>
-
#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);
?> -
#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); -
#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 -
#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)?? -
#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. -
#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 />';
}
?> -
#10190 Fatal error: Call to undefined function: regbody() in /reg.php on line 96
A 96ik sorom: $body = regBody($username , $password , $aktkod);
-
#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;
} -
#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? -
#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 />';
} -
#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 />';
}
}
?> -
#10185 Ezt megcsináltam de most semmit se csinál :S -
#10184 Az ezsgé javascriptje nem mindeig működik jól. Ez válasz akart lenni Máté12 üzenetére. -
#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.