Jump to content
GSForum - Segélyvonal

PHP kérdésem van


Recommended Posts

Posted

Pontosan mi a hiba? Megnézted, hogy nem azzal van a gond, hogy a $_POST tömb nemlétezõ elemére akarsz hivatkozni? Pl ha egy form-ban egy checkboxot nem kattintasz be, akkor az a vezérlõ egyáltalán nem fog szerepelni a $_POST tömbben!

[OP]Destroy-man
Posted

TextBoxokbol és Textareakbol áll a form. Nekem az is jó, hogyha valahogy be tudnám állítani azt, hogyha nincs értéke a változónak, akkor kapja meg a NULL értéket. :)

Posted

Az a baj, amit arpsoft mond. A kitöltetlen mezõk nem fognak szerepelni a $_POST-ban. Meg kéne csinálni JS-ben, hogy a kitöltetlen mezõk kapnak valami egyedi tartalmat, mondjuk § jelet, vagy ilyesmit. Aztán a feldolgozás során lekéred, és ha ez, akkor az adatbázisba NULL-t írsz.

Posted

Nem értek a PHP-hoz, de mi van akkor, ha egy if-fel megvizsgálja, létezik-e az adott indexû elem? Este van! :béke:

Posted

Sziasztok!

 

Spányik Balázs leírása alapján már egy párszor felpakoltam az Apache+PhP+MySQL kombinációt a munkahelyi és a saját gépemre is. Tegnap megint újra kellett húzzam az otthoni gépet, és neki láttam újra felrakni a fentebb említett kombót. A baj csak az, hogy mikor aPhP csatlakozni akar a MySQL adatbázishoz, akkor ezt kapom:

 

Fatal error: Call to undefined funciton mysql_connect()

 

Ami érdekes, mert ezen a gépen meg megy.... Megjegyezném, hogy a beállítások és a könyvtár struktúra a két gépen teljesen azonos.

 

Na a lényeg, hogy 5-6-szor újra raktam az egészet, mikor is meguntam és csináltam egy php infó állományt.

 

<?php phpinfo(); exit(); ?>

 

Nos ekkor azt látom az otthoni gépen, hogy nincs betöltve konfigurációs fájl, míg az irodai (mûködõ) gépen van. A környezeti változóknál megvan a PHPRC változó és a D:\php könyvtárra mutat, ahol a php.ini van. A d:\php a path-ban is benne van mégse akarja az igazságot. Mit tegyek?

Posted

Elsõre is a d:\php könyvtárba telepítetted a php-t?

Posted

Szia!

 

Elsõre nem, de már nem tudom, hogy hova .... Már ott tartok, hogy mindjárt megint újra húzom a Windowst is .... :S

Posted

Azt kéne megnézni, hogy az extension könyvtár jól van-e beállítva és a MySQL extensionök be vannak-e kapcsolva.

[OP]Destroy-man
Posted

Nem lenne egyszerübb EasyPHP-t telepíteni? Abban benne van mind a 3, és magátol konfigurálja is õket, hogy bárhova is telepítsed, mûködjön. :)

Posted
Nem értek a PHP-hoz, de mi van akkor, ha egy if-fel megvizsgálja, létezik-e az adott indexû elem? Este van! :béke:

Asszociatív tömbként kapja, de mûködõképes.

Posted

Tegnap kipróbáltam (most hegesztettem először űrlapot+php-t), megy, nekem elég is. :D

Posted (edited)

Tisztelt Spányik Balázs!

 

Az Ön cikkjét olvastam el és vittem végig lépésről lépésre. Ami végülis sikerült is.

 

Nagyon nagy kár, hogy a PHPmyadminal nem fejelte meg a cikket. Hatalmas segítség lett volna.

 

A problémám a következő. Minden fent van ahogy kell.

 

Írom a verziószámokat:

 

Apache 2.2.15

PHP: 5.3.2 VC9 x86 Thread Safe

Mysql: mysql-essential-5.1.44-winx64

 

Win 7 64bites verziót használom.

 

A probléma:

Elvileg kellene lennie a Mysql-nél egy olyan kis ikonnak mint az apache2-nél, a neve: WinMySQLadmin de a bin-ben ilyen nincs csak mysqladmin ami nem ugyanaz. Mit rontottam el? Rossz verziót töltöttem le?

 

A másik probléma, hogy a PHPmyadmin mikor beteszem a web/phpmyadmin könyvtárba (bemásolom a zip állomány tartalmát) akkor egy ilyen hibaüzenetet dob vissza: Nem tölthető be a mysql kiterjesztés. Ellenőrizze a PHP beállításait. - Dokumentáció

 

A PHP.ini-ben az extensionnál engedélyezve van mind a három dll. Mysql.dll Mysqli meg még egy harmadik.

 

A Path-ban minden ott van aminek lennie kell.

 

Mi lehet a probléma?

Ön a végső segítségem, mivel senki máshoz nem tudok fordulni. Tudom, hogy régi a cikk de kérem segítsen nekem.

Edited by robb20202
Posted

Nekem is van egy olyan környezetem, amit Balázs útmutatása alapján építettem, phpmyadmin is élesítve van. Annyit csináltam, hogy készítettem neki egy phpmyadmin mappát az apache webkönyvtárban, beleraktam a fájljait, majd be is léptem. Az elsõ oldalon kiabált egy plusz opcióért, amit bekapcsoltam, utána ment minden.

 

Egyébként: virtuális gépen linuxhoz mit szólsz? Azon talán egy kicsivel egyszerûbb.

Posted

sokan mondták már, hogy Linux alatt jobb gyorsabb etc...

 

Az is sorra fog kerülni. De mivel én megrögzött vagyok és igazából szeretném végig vinni amit elkezdtem ezért a win64 alatt való beállításokat feltétlen végig szeretném vinni. Kitartó vagyok de most kelleni fog egy kis segítség.

 

Elképzelhetõ hogy nem a megfelelõ verziókat töltöttem le?

 

A fent említett egyik hiba szerintem ebbõl is adódhat, lásd: WinMySQLadmin hiánya?

 

A másik hibát nem tudom mire vélni kezdõ mivoltom miatt. Nem tudom hol keressem a hibát. Apache látja a PHP-t, legalábbis mikor a php teszt filet lefuttatom akkor az összegzõ tábla simán megvan. De a PHP myadmin valamiért nem Mûködik.

Posted

A helyzet nagyon egyszerű: ha a phpinfo()-ban látszódnak a bekapcsolt mysql extensionök, akkor valóban telepítve vannak és a phpMyAdminnal van zűr. Ha a phpinfo()-ban nem látszódnak, akkor a php telepítésével van zűr.

 

phpinfo():

 

<?php phpinfo(); ?>

A MySQL-es problémára nem tudom a megoldást, lévén én 64 bites verziót eddig nem telepítettem semmiből, és a 32-esben sem használtam soha a fent emlegetett WinMySQLadmin dolgot, úgyhogy ezt passzolom...

Posted

Lekérek egy cellába korábban beírt dátumot. Ezt hogy tudnám "ma" "tegnap"-ra állítani, ha az ma vagy tegnap volt? A ma még oké is, összehasonlítom a mai dátummal, de a tegnaphoz el kéne venni a napból 1-et, amit már nem tudok hogy kell. :D

Posted

mktime

 

A tegnap például:

 

$tegnap  = mktime(0, 0, 0, date("m")  , date("d")-1, date("Y"));

Posted

Szasztok!

Segítségre lenne szükségem, mivel elég kezdõ vagyok a PHP-ben.

Van egy adatbázisom, amiben felhasználók adatai vannak. A felhasználóknak készítettem egy bejelentkezõ oldalt a weblapomra, de vmiért nem mûködik.

Ezt a hibeüzenetet kapom:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\xampp\htdocs\Honlap\includes\adatbazis.inc:1) in C:\xampp\xampp\htdocs\Honlap\belepes_feldolgozas.php on line 16

 

Itt vannak a php kódok is:

 

belepes.php:

<html>
<head>
<title>Belépés</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-UTF-8">
</head>
<body>
<p>Bejelentkezés</p>
<form name="belepes" method="post" action="belepes_feldolgozas.php">
<table width="400" border="0" cellspacing="0" cellpadding="10">
  <tr>
    <td width="200"><div align="right">Felhasználó név</div></td>
    <td width="200">
      <div align="left">
        <input name="nev" type="text" maxlength="30">
      </div></td>
  </tr>
  <tr>
    <td><div align="right">Jelszó</div></td>
    <td>
      <div align="left">
        <input name="jelszo1" type="password" id="jelszo" maxlength="15">
      </div></td>
  </tr>
    <tr>
      <td colspan="2"><div align="center">
        <input type="submit" name="Submit" value="Belépés">
      </div></td>
    </tr>
    <tr>
    <td colspan="2">      <div align="center">Regisztráció</div></td>
    </tr>
</table>
</form>
</body>
</html>

belepes_feldolgozas.php:

<?php
session_start();
$nev = $_POST['nev'];
$jelszo = $_POST['jelszo1'];
if (!empty($nev) && !empty($jelszo))
{
include('includes/adatbazis.inc');
$_SESSION['nev'] = "";
is_user($nev,$jelszo,$van_e);
if (!$van_e) {
header("Location:belepes.php");
}
else
{
$_SESSION['nev'] = $nev;
header("Location:belepes2.php");
}
}
else
{
header("Location:belepes.php");
}
?>

adatbazis.inc:

<?php
$kapcsolat = mysql_connect('localhost','root','');
if (!$kapcsolat)
die ("Nem sikerült kapcsolatot létesíteni a szerverrel!");
mysql_select_db ('regisztracio',$kapcsolat)
or die ("Nem sikerült kapcsolódni az adatbázishoz!" .mysql_error() );
function is_user($nev,$jelszo,&$van_e)
{
global $kapcsolat;
$eredmeny = mysql_query("SELECT * FROM felhasznalo WHERE nev='$nev' and jelszo='$jelszo'",$kapcsolat);
$sorok_szama = mysql_num_rows($eredmeny);
if ($sorok_szama==1)
{
$van_e=true;
}
else
{
$van_e=false;
}
}
mysql_close();
?>

belepes2.php:

<?php
session_start();
?>
<html>
<head>
<title>Belépés2</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

<body>
<?php
$nev=$_SESSION['nev'];
if (!empty($nev))
{
include('includes/adatbazis.inc');
print "<p>Üdvözöllek $nev</p>";
print "<a href=kielepes.php>";
print "Kilépés";
}
else
print "Nem sikerült belépni!";
?>
</body>
</html>

kilepes.php:

<?php
session_start();
$_SESSION['nev']="";
header("Location: belepes.php");
?>

 

Elõre is köszönöm a segítséget!

Üdv.!

Posted

az adatbázis.inc nem php, vagyis (ha jól tudom) nem fut le benne a php rész. mentsd el adatbazis.inc.php néven mondjuk, és azt include-old, akkor is ugyan úgy fog menni.

a mysql_close-ba bele kell írni azt, hogy mibõl lép ki, vagyis amire kapcsolódtál (bár én sose használtam ezt, nélküle is megy)

Ja, és kilépés.php.

usent($_SESSION['nev']);

Posted

Az adatbazis.inc elsõ if utasításához tegyed ki a kapcsos zárójeleket.

A gond az, hogy megcsinálja a die()-t az adatbazis.inc-ben, ez elküldi az össze header információt és lezárja a html-t, majd ezután akarsz header függvénnyel oldalt váltani.

Posted

Ezek szerint az inc-ben lefut a php kód? Még nem használtam, csak egyszer olvastam róla. :upsz:

Posted

Hadd kérdezzem már meg, hogy miért használsz külön

-eket az igazításhoz? A -nek éppen úgy van align attribútuma, mint a
-nek, amit teljesen feleslegesen beleraksz. Jó, tudom, nem HTML témában vagyunk... ...de ha már táblával csinálsz oldalakat, legalább azt csináld jól, hm? ;)
Posted

@kléni:

 

Nem, nem az inc-ben fut le a kód, hanem az azt beillesztő php-ban.

Az include olyan, mintha beszúrnád a fájl forrását abba fájlba, ahonnan hívod.

Posted

Van egy ilyen nevem: />HaN</

 

Adatbázisban 1:1-ben így van benne, kereséskor meg is találom, de mikor ki szeretném íratni, akkor csak ennyit pakol ki: />HaN

Mi lehet ennek az oka? Beírásnál addslashes(), kiírásnál stripslashes() mûködik, de ezzel nem is kezdenek ezek a függvények semmit se.

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