Autor Zpráva
hladis
Profil
Dobrý den. V registračním kódu mám:

<?php
require "db.php";

echo "<form method=\"POST\" action=\"reg.php?stranka=pridat\">
<fieldset><legend>Váš účet</legend>
Meno: <input type=\"text\" value=\"$nick\" name=\"nick\"><br>
2 x heslo:
<input type=\"password\" name=\"heslo1\">
<input type=\"password\" name=\"heslo2\"><br>
<input type=\"submit\" name=\"send\" value=\"Registrovat\"><br>
</fieldset>
</form>";

$nick = $_POST['nick'];
$heslo1 = $_POST['heslo1'];
$heslo2 = $_POST['heslo2'];

if($_REQUEST['stranka'] == 'pridat'){

if(!$nick==""){
if(!$heslo1==""){
if(!$heslo2==""){
if($heslo1=$heslo2){
$heslo = sha1($heslo2);

if(!mysql_result(mysql_query("select count(*) from `".users."` where `username`='$nick'"),0))
{
mysql_query("INSERT INTO `".users."` (username,password) VALUES ('$nick', '$heslo')");
echo "<script> alert(\"Registrácia prebehla úspešne.\") </script>";
echo "<meta http-equiv=\"refresh\" content=\"10;url=http://supr.wu.cz/log.php\">";
} else { echo "Tento nick sa už používa."; }
} else { echo "Heslá sa nezhodujú."; }
} else { echo "Nezadali ste kontrolu hesla."; }
} else { echo "Nezadali ste heslo."; }
} else { echo "Nezadali ste nick."; }
}
?>


V souboru db.php se pripojuji, obsah:
<?php
$db_host = "mysql.wu.cz";
$db_user = "wu_supr";
$db_pass = "----";
$db_table = "users";
define("USERS", "users");
$spojenie = mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_table,$spojenie);
mysql_query("SET NAMES cp1250");
?>

A chyba: Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/free/wu.cz/s/supr/root/www/reg.php on line 26.

Prosím poraďte. Odkaz
nightfish
Profil
a opět jeden dotaz, který by zde nemusel být, kdyby ses podíval na FAQ (Některé časteji řešené dotazy pro MySQL)
hladis
Profil
nightfish

Počkej, nemohu to tam najít. Mohl by jsi mi napsat aspoň místo, kde mám problém?
Davex
Profil
nemohu to tam najít
V odkazovaném příspěvku najdi třetí tučný řádek, a pod ním se dozvíš odpověď na tvůj problém.
hladis
Profil
Tato chybová hláška se objeví v případě, že funkci pro zpracování výsledků mysql dotazu (mysql_fetch_*, mysql_result, mysql_num_rows, ...) dodáte na vstup proměnnou, která výsledek dotazu neobsahuje.
Všechny proměnné jsou inicializovány tak nevím, kde je problém.
Davex
Profil
hladis
Přečti si to celé, a nejlépe vícekrát.
ninja
Profil
hladis: zkuste vysledek volani
echo ("select count(*) from `".users."` where `username`='$nick'");
zadat primo do databaze. Co vam to vrati - prazdnou mnozinu? Tak jake vysledky pak chcete pres mysql_result() nacist?!
nightfish
Profil
mysql_query("INSERT INTO `".users."` (username,password) VALUES ('$nick', '$heslo')");
mimochodem konstanta "users" není v uvedeném kódu nikde definována (protože názvy konstant jsou case-sensitive)
hladis
Profil
Prosím řekněte někdo jak to mám opravit...
Kajman_
Profil *
if(!mysql_result(mysql_query("select count(*) from `".$db_table."` where `username`='$nick'"),0))
{
mysql_query("INSERT INTO `".$db_table."` (username,password) VALUES ('$nick', '$heslo')");
hladis
Profil
Kajman_

Pořád ta stejná chyba:(
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/free/wu.cz/s/supr/root/www/reg.php on line 26

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0