Kezdőoldal » Számítástechnika » Weblapkészítés » Hibaüzenet amit a PHP Designer...

Hibaüzenet amit a PHP Designer 8 nem vesz észre. Mi az? Mi a hiba?

Figyelt kérdés

Hali!

elég mérges vagyok mivel megvettem a php designer 8-at és nem vesz észre egy hibaüzenetet!


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a9426947/public_html/7/images/kell/php.php on line 148



a kód pedig:

ez a php.php érintett része:


if ("4" == $op ){



$hozzaferes = $_SESSION['hozzaferes'];

if ($hozzaferes == "TRUE"){



session_start();

$nev = $_SESSION['nev'];

//ez hozza be a kapcsolódási adatokat!

$veh = '2';

include ("images/kell/php.php");

unset ($veh);



$con = mysql_connect ($host,$dbuser,$dbpass);

if (!$con)

{

die('Could not connect: ' . mysql_error());

}

mysql_select_db($dbname, $con);


$nev = $_SESSION['nev'] ;

$result = mysql_query("DELETE FROM zl WHERE user='$nev'");


while($row = mysql_fetch_array($result))

{

echo "<br>ön 3szor egymás után helytelen kódot adott meg.<br>Így a rendszerünk a biztonság érdekében eltávolította a rendszerbõl!<br>Próbálkozzon újra vagy kérjen segítséget az ügyfélszolgálattól!";


unset($_SESSION['nev']);

unset($_SESSION['alap']);

unset($_SESSION['email']);

unset($_SESSION['szerel']);

unset($_SESSION['hozzaferes']);

unset($_SESSION['md5']);

unset($_SESSION['id']);

echo "<meta http-equiv='refresh' content='3; ?v=reg' />";

}

mysql_close($con);



}else{echo "ennek a funkció eléréséhez be kell jelentkeznie!<meta http-equiv='refresh' content='2; ?v=8&error=4' />";}



}


törölni törölte a rendszerből csak nem írta ki a szöveget (ön 3szor egymás után........)

üdv.

segítségeteket várom!



2012. júl. 15. 10:52
 1/9 anonim ***** válasza:
Mi az images/kell/php.php 148. sora? A hiba ugyanis abban a sorban van. Ez valószinűleg egy másik php.php részlete lehet, mivel ebben include-olod azt is.
2012. júl. 15. 11:25
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:

ááá ez bonyolult!

a php.php több lapot rejt:


//config.php = 2

//loginconfig.php = 3

//törlés.php = 4

//alaplegeneráló.php = 5


és akkor ezeknek nem kell külön lapokat létrehozni!

ez NEKEM átláthatóbb!

a php designer 8 szerint ez a 148. sor:

while($row = mysql_fetch_array($result))

én ebbe semmilyen hibát nem láttam!

viszont ha ebben van a hiba akkor az alapgenerációban is kell , hogy legyen , mivel ez később volt mint az így azt másoltam ebbe majd átalakítottam.(huuuu)

csak ott valszeg azért nem mutat hibaüzenetet mert az átirányítás előtt mutatkozik meg(azaz nem látszik)

2012. júl. 15. 11:31
 3/9 anonim ***** válasza:
Szerintem a programnak csak szintaktikai hibát kell észrevennie. Nem tudom biztosan, de szerintem DELETE-s sql parancsot while nem lehet fetch_array-eztetni, az sql-ből törölte a SESSION-ököt is törölte, mert az sql törlés az lemegy ott a mysql_query-ben a cikklusba lehet belesemegy és az echo-t nem is raknám cikluson belül, alapértelmezésben meg ha tudod,hogy csak egy sorod lesz, akkor minek a ciklus?
2012. júl. 15. 11:51
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:

mert így találtam ki és pont.

de am a parancs lefut...törli a fickót!

2012. júl. 15. 12:12
 5/9 anonim ***** válasza:

persze hogy törli, hisz a mysql_query lefut, de a while ciklus nem futhat le, hisz DELETE sql paranccsal az nem futhat le! Másrészt, minek kell a while($row...stb.)?? Ha a cikluson belül mégcsak meg sem hívod egyszer sem a $row tömböt? Semmi értelme. Mellesleg nem is kaphat értéket a $row tömb, hisz nincs miből. Az egész while ciklus úgy ahogy van felesleges.

Plusz ha már átirányítasz valakit, akkor a honlap közepén mit keres egy meta tag? Ráadásul az egyik meta refresh a ciklusban található...nem túl szerencsés.

2012. júl. 15. 13:59
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

Megy itt a favágás rendesen. Ne bántsuk szegény php designert, nem az ő bűne.


Ahogy az előttem lévő is írta a delete query nem ad vissza resource-ot, így a mysql_fetch_array értelmezhetetlen a php számára.

2012. júl. 15. 14:42
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:

áhááááá!

utolsónak:

az azért van mert még az előző kódrészletből ott maradt!(hmm)

szóval így működni-e kellene...nem?

if ("4" == $op ){


$hozzaferes = $_SESSION['hozzaferes'];

if ($hozzaferes == "TRUE"){


session_start();

$nev = $_SESSION['nev'];

//ez hozza be a kapcsolódási adatokat!

$veh = '2';

include ("images/kell/php.php");

unset ($veh);


$con = mysql_connect ($host,$dbuser,$dbpass);

if (!$con)

{

die('Could not connect: ' . mysql_error());

}

mysql_select_db($dbname, $con);


$nev = $_SESSION['nev'] ;

$result = mysql_query("DELETE FROM zl WHERE user='$nev'");



echo "<br>ön 3szor egymás után helytelen kódot adott meg.<br>Így a rendszerünk a biztonság érdekében eltávolította a rendszerbõl!<br>Próbálkozzon újra vagy kérjen segítséget az ügyfélszolgálattól!";


unset($_SESSION['nev']);

unset($_SESSION['alap']);

unset($_SESSION['email']);

unset($_SESSION['szerel']);

unset($_SESSION['hozzaferes']);

unset($_SESSION['md5']);

unset($_SESSION['id']);

echo "<meta http-equiv='refresh' content='3; ?v=reg' />";


mysql_close($con);


}else{echo "ennek a funkció eléréséhez be kell jelentkeznie!<meta http-equiv='refresh' content='2; ?v=8&error=4' />";}


}



am azért a lap közepén van a meta tag mert a headot csak utána zárjuk le!

na ezt nem akarom túlragozni mivel akkor le kéne vezetnem a létrehozási mikéntjét!

2012. júl. 15. 14:46
 8/9 Drone007 ***** válasza:

Ez a hiba konkrétan arra utal, hogy a mysql query hibás, vagyis ebben a részletben van a hiba:

"DELETE FROM zl WHERE user='$nev'"


Ezt én úgy szoktam ellenőrizni, hogy a hívás elé beszúrom a query string kijelzését. jelen esetben ezt:

print "DELETE FROM zl WHERE user='$nev'";

Ez az oldalon kijelzi magát a lekérdezés stringjét. Előfordulhat, hogy a változó ($nev) üresen kerül be, vagy a tábla rosszul van meghíva...

A kijelzett stringet aztán bemásolhatod a phpmyadmin query részébe, mert az több infót is adhat a lekérdezés hibájáról.

2012. júl. 15. 18:02
Hasznos számodra ez a válasz?
 9/9 anonim válasza:

A hibaüzenet nem azt jelenti hogy a mysql lekérdezésben van a gond, tehát a DELETE igen is jó. A hibaüzenet azt jelenti, hogy nem lehet while-al végigfutni rajta, mivel a query nema d vissza tömbböt. Az végrehatódik és kész. Ezt többen is leírták.


if ($hozzaferes == "TRUE")... a TRUE-t nem kell idézőjelek közé tenni, és booleant így hasonlítunk össze: if($hozzaferes === TRUE)...


a session_start(); mindig az index fájl elején álljon!


$veh = '2'; - ha integer akar lenni akkor nem kell idézőjel, különben string lesz


mysql_connect-et ne tessék bele rakni a kód közepére, elején megnyitod és kész, ezt is beincludeolhatod az index fájlban. másrészről die-al ne kezeld, mert az csak annyit takar hogy félúton abbahagyja a kód futását. Akkor már inkább exit(), de inkább a kivételkezelést kellene átnézned


echo "<meta http-equiv='refresh' content='3; ?v=reg' />";

ezt ne így, hanem használd a php header(); függvényét, amúgy a header mindig a kód elejére kerüljön, minden kimenet elé


mysql_close($con); ez nem mindenféleképpen kell, mivel a mysql kapcsolat magától zárul ha a szerver normálisan van beállítva


}else{echo "ennek a funkció eléréséhez be kell jelentkeznie!<meta http-equiv='refresh' content='2; ?v=8&error=4' />";}

}


ennek semmi értelme, iszonyat csúnya



Drone007:


Ez a hiba konkrétan arra utal, hogy a mysql query hibás, vagyis ebben a részletben van a hiba:

"DELETE FROM zl WHERE user='$nev'"


ha elolvastad volna az előző hsz-eket akkor rájöhetnél mekkora marhaságot írtál. Amúgy ha a $nev üresen kerül be akkor sem fog hibát dobni. A phpmyadmin-ba nem másolgatunk semmit, hanem használjuk a mysql_error() függvényt!

2012. júl. 17. 18:02
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!