Jump to content
GSForum - Segélyvonal

PHP kérdésem van


Recommended Posts

Posted

A htdocs-ot azonnal "kiveszem" az D:\Webdev\Apache\ alól, a D:\Webdev-be, és oda csak egy index.php-t rakok, ebben van a phpinfo(). Ezt nem találja meg az Apache 2.2 és mondja azt helyette, hogy "It Works!", pedig abban a mappában nincs is ott az a html, ami ezt tartalmazná. :pislog: Tehát ezt generálja vagy mi.

 

A 2.0.59-nél tökéletesen működik, a hétvégén kipróbáltam. Egy idő után már a 2.2-nél is működött, csak vacakolni kellett a conf file-lal.

Posted

Akkor viszont megint nem értem. Én erre gondoltam:

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

Nem ugyanaz, mint ez:

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

Utóbbi van a tutorialban, az elõbbi nincs. Utóbbival is kipróbáltad?

Ezt nem találja meg az Apache 2.2 és mondja azt helyette, hogy "It Works!", pedig abban a mappában nincs is ott az a html, ami ezt tartalmazná.

Biztosan újraindítottad a szervert, miután megváltoztattad a DocumentRoot-ot? Jó, tudom, buta kérdés, de mindenkivel elõfordulhat.

Posted

Kedves Balázs!

Most kezdtem el foglalkozni a php-s web oldalakkal. Sikerült is a remek leírásod alapján a gépemre feltelepiteni az Apache web szervert, a php5-öt és a mysql-t.

A legtöbb dolog simán megy, de van egy dolog ami nem.

 

Amikor űrlapot készítek és azon egy mezőt kitölt a felhasználó (mondjuk beírja a nevét), és ezután egy gomb megnyomásával egy másik php feldolgozná a bevitt adatot, és kiírná azt a böngészőben a felhasználó üdvözlését a névvel. Mindent kiír, csak azt az adatot (a beírt nevet) nem, amit POST-tal kapott az űrlapot tartalmazó php-tól.

Hibaüzenetet sem ír ki.

 

Nem tudom mi lehet a probléma...

Előre is köszönöm segítségedet!

Gozo

Posted

$_POST[""]

Ha kíváncsi vagy a küldeményre.

<?php print_r($_POST); ?>

Posted

Megnéztem:

 

Array([felhasznalo]=>valaki)

Ennyit ír ki de $felhasznalo-ra a print fv-ben nem ír ki semmit

Leírom a két forrást is hátha abból látszik, mit szurtam el:

 

<html>
<head>
<title>Név bekérés</title>
</head>
<body>
<form action="kiir.php" method="POST">
<input type="submit" value="mehet">
</form>
</body>

A másik ami kiir:

 

<?php
print "Üdvözöllek $felhasznalo !";
?>

Posted

Közben megtaláltam a megoldást:

 

<?php
print "Üdvözlet $_POST[felhasznalo] !";
?>

 

Köszönöm a segítséget!

Posted
global $HTTP_POST_VARS esetén lehet a POST-tal átadott változókra hivatkozni $valtozo formában...
Posted

Hali. Lenne egy kérdésem. Hogyan tudok egy php oldalba videót beilleszteni? Delphi-t tanultam phphez nem igazán értek.

 

Már ez is elég ha erre kapok választ. Viszont a problémám kicsit összetettebb. Több videót akarok egy oldalra betenni, de nem akarom mind lejátszani egyszerre. Az elképzelés az lenne hogy egy oldalon belül lenne egy médialejátszó és alatta egy lista amiből a lejátszani kivánt filmet lehet kiválasztani. Ami aztán azon az oldalon belül egyből nézhető is! Nem akarok minden videót külön oldalon megnyitni. Vagy ha csak úgy oldható meg akkor egy akkorára méretezett felugró ablakba!

 

A segítséget előre is köszönöm, és remélem érthető a kérdésem :pislog:

Posted

A videó beillesztéséhez elõre megírt JavaScript-ek vannak, én azt ajánlom. Ezen belül is a QuickTime formátumát (MOV). (Pl. az Apple készített egy ilyet, ha kell, adok linket hozzá, itt tedd fel a kérdést.)

 

Egyébként ugyanúgy illeszted be, mint bármelyik HTML-oldalba, csak épp print-tel iratod ki a HTML-t vagy JavaScript-et, és escape-eled az idézõjeleket, amiket a print utasításban használsz. (De peched van, mert ha C-t tanultál volna, könnyebb lenne a PHP. ;) Mindegy.)

Posted

Üdv Mindenkinek!

 

Bocs a figyelmetlenségemért, de hol található az a remek tutorial?

Posted

Köszi a segítséget! Közben sikerült megoldanom. A QuickTime nem jó nekem mert avi, mpg ill. wmv fájlokat akarok lejátszani! De már mûködik, legalább is a wmv-k lejátszása. Az elég is egyenlõre! Viszont a listát azt JavaScript segítségével tudnám elkészíteni ha jól sejtem!? Ahhoz viszont majd a másik topicban kérek segítséget :)

 

Még egyszer köszönöm a segítséget!

Posted
global $HTTP_POST_VARS esetén lehet a POST-tal átadott változókra hivatkozni $valtozo formában...

De ezt már ne tanuljuk meg, mert egyrészt jó ideje nem javasolt a használata, másrészt PHP 6.0-ban számûzik a nyelvbõl!

Posted

Sziasztok!

Újabb probléma:

egy html oldalban alkalmazok egy php-t arra, hogy születési év alapján döntse el, hogy a tovább gomb megnyomásával melyik oldalra ugorjon tovább.

A gondom az, hogy nem tudom hogy a php-bõl hogyan tudom átvinni a beállitott oldal nevet a html részbe.

Azért csinálom így mert a php részben nem tudom hogyan lehet egy gombot létrehozni

<FORM></FORM>-ot nem fogadja el.

Posted

Gombot így kell létrehozni:

 

<form action="valami.php" method="post">
<input type="submit" name="gomb" id="gomb" value="Mehet" />
</form>

 

Itt nyilván az action-be kell beírd a megfelelõ oldal nevét, ami az ûrlapot feldolgozza. Ha ez a form tartalmazza a születési évet is (vagyis azt a felhasználó viszi be egy input szövegmezõben vagy legördülõ listában, vagy akármiben), akkor action="valami.php", és a valami.php-ban kell megvizsgáld, hogy a form-mal mit küldött el a látogató, és a szerint más és más HTML-t iratsz ki a böngészõbe. Számomra nem egyértelmû abból, amit írtál, hogy így gondolod-e.

Posted

Köszönöm a válaszodat!

Gombot én is tudom hogy így kell létrehozni html-ben. Arra lettem volna kiváncsi, hogy php-ban lehet-e gombot létrehozni, vagy a php-ban meghatározott lapot (if szerkezettel vizsgálom a születési évet és az eredmény függvényében más és más html oldalt (html fájlt) szeretnék betöltetni a böngészőbe). Hogyan tudom a FORM ACTION-jába visszaadni?

Köszi!

Posted

<?php
echo "<form action='".$valtozo1."' method='post'>";
echo "<input type='text' value='".$valtozo2."'>";
echo "<input type='submit' name='gomb' id='gomb' value='Mehet'>;
echo "</form>";
?> 

Ez bármilyen hasonló html-es elemnél működik. Lehet pl. feltölteni tömbből az <options> legördülőt, meg ilyenek...Pl. a gombnevet is meg lehet változtatni attól függően a feltétel amit vizsgáltál igaz-e...

Posted

Vagy miért ne keverjük a kettőt?! Hiszen ez a legjobb a PHP-ben:

 

<?php
    kiváló php kód
?>
<form>
.
.
.
</form>
<?php
    újabb kiváló php kód
?>

Igaz, hogy egy idő után ez átláthatatlanná teheti a forráskódot, de ezen az echo sem segít!

 

Gozo: azt kell megértened, hogy a php nem helyettesíti a HTML-t! Nincs olyan, hogy "hogyan csinálok gombot PHP-ben". A megjelenő weboldal tartalmát továbbra is HTML-ben kell megfogalmazni, tehát gombot is HTML-ben csinálsz, űrlappal. Az hogy echo-zod a HTML részt, ahogy Greene példája mutatja, vagy kevered, az már csak megszokás kérdése.

Posted

Köszönöm a válaszaitokat! Igen, én is rájöttem, hogy más a php és más a html feladata itt. Csak ugye arra nem jöttem rá, hogy akkor a php-ból a gombnak hogyan adok actiont? Egyébként milyen könyvet javasoltok amiben, az ilyen kérdésekre meg van a válasz? Egy kis php, javascript és mysql?

Köszi!

Posted

Közben meg is csináltam, tökéletesen működik! Köszönöm.

 

Még van valami: egy txt fájlba irom ki a név és jelszó párokat user:password formában

 

<?php
    $fajlnev="passw.txt";
    $fa=fopen($fajlnev, "a") or die("$fajlnev nem nyitható meg!");

        fwrite($fa,"$_POST[nev]:$_POST[jelszo]\n");

    fclose($fa);

Hogyan tudnám elérni, hogy minden egyes név jelszó pár külön sorba kerüljön? Az itt alkamazott \n ,de a <br> is csak beiródik utána, de nem vált ki soremelést a txt-ben.

 

Sőt ha print-be írok \n-t, az sem látszik az oldalon. Egy sorba ír mindent!

 

<?php
print "Valami\n";
print"Volt soremelés?\n";
?>

Ez valami beállítási hiba lehet?

Posted

Egész biztos valami beállitási probléma lesz, mert ha mysql-be akarok adatok átvinni, ott is csak egy új üres rekordot hoz létre üres mezőkkel...

Tehát készít egy új rekordot, de nem ír bele semmit.

 

<html>
<head>
<title>Login</title>
</head>
<body>
<?php
    $kapcsolat = mysql_connect("localhost", "root", "pw") or die(mysql_error());
    mysql_select_db("szemelyek",$kapcsolat) or die(mysql_error());
    $sql = "INSERT INTO login(nev,email,jelszo) 
    values('$_POST[nev]','$_POST[email]','$_POST[jelszo]')";
    $eredmeny = mysql_query($sql) or die(mysql_error());
    echo "Sikeres regisztráció!";
?>
</body>
</html>

Posted

A böngészõk nem veszik figyelembe az újsort, erre a html-ben <br>-t használunk. A kódban újsor lesz, a böngészõablakban nem.

 

Hogyan tudnám elérni, hogy minden egyes név jelszó pár külön sorba kerüljön?
\r\n ?

 

Nem csodálkozom: $_POST[nev] helyett pl. $_POST['nev']-vel próbálkozz. (Egyszeres idézõjel kell.)

 

A másik: soha nem szabad megbízni a felhasználó által megadott adatokban. Bármit beírhatnak. Így pl. ezt is: <h1>Gonosz vagyok</h1> vagy javascript(kettõspont)window.close(); , stb.

Posted

Ellenőrzésig még nem jutottam el... De remélem el fogok odáig is. Köszi hogy segítesz! Mindjárt átirom.

 

Valami nem OK

Ezt Írja ki ha futtatom:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\WEBDEV\htdocs\passwbe.php on line 11

és ebben a sorban most ez szerepel:

 

fwrite($fa,"$_POST['nev']:$_POST['jelszo']\n");

Posted

Így próbáld meg:

 

$nev = $_POST['nev'];
$jelszo = $_POST['jelszo'];
fwrite($fa,"$nev : $jelszo \r\n");

Posted

köszönöm! Tökéletesen működik. Hiába nagyon kezdő vagyok. Már csak a mysql-lel való összhangot kellene megteremteni.

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