Autor Zpráva
iver
Profil
Zdravím. Potřeboval bych pomoci s tímto skriptem:
<?php

if (!empty($_POST)) // už se odeslalo
{
function JeEmail ($cislo)
{
return ereg("^.+@.+..+$",$cislo);
}
function emailvdb ($email, $mysql_spojeni)
{
$vysledek=mysql_query("select * from satanus_uzivatele where email='".$email."'", $mysql_spojeni);
return (boolean) mysql_num_rows($vysledek);
}
function jmenovdb ($jmeno, $mysql_spojeni)
{
$vysledek2=mysql_query("select * from satanus_uzivatele where jmeno='".$jmeno."'", $mysql_spojeni);
return (boolean) mysql_num_rows($vysledek2);
}
if (!JeEmail($_POST["email"])) echo "Není zadán platný e-mail";
elseif (emailvdb($_POST["email"], $mysql_spojeni)) echo "Uvedený e-mail je již registrován";
elseif (jmenovdb ($_POST["jmeno"], $$mysql_spojeni)) echo "Uvedená přezdívka je již registrována";
echo "Děkujeme za registraci. Na vaši adresu ".$_POST["email"]." byly zaslány informace pro její dokončení.";
mysql_query("insert into satanus_uzivatele (email, jmeno, heslo) values ('".$_POST["email"]."', '".$_POST["jmeno"]."', '".$_POST["heslo"]."');", $mysql_spojeni);
$lastid=mysql_insert_id();
$path="http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_ SERVER["SCRIPT_NAME"]."?clanek=registracedokoncena&amp;id=".$lastid."& amp;email=".$_POST["email"];
$telo = "Dekujeme Vam za registraci ve hre ~ SATANUS ~. Pro dokonceni ".
"registrace navstivte nasledujici stranku: ".
"$path ".
"Pokud jste se do nasi hry neregistrovali, povazujte tento e-mail za bezpredmetny. ".
"Registraci soucasne ziskate pristup na forum hry. Pred hranim si prosim prectete FAQ, pravidla a manual ".
"Vas snem Bohu hry ~SATANUS~.";
@mail ($_POST["email"], "Registrace do hry ~SATANUS~", $telo);
}
else
{
echo '
<form method='post' action='index.php?clanek=registrace'>
<label id='registrace_label' for='l_jmeno'>Jméno:</label><br /><input id='registrace_input' type='text' name='jmeno' value=''.$_POST["jmeno"].''><br />
<label id='registrace_label' for='l_heslo'>Heslo:</label><br /><input id='registrace_input' type='password' name='heslo' type='password' value=''.$_POST["heslo"].''><br />
<label id='registrace_label' for='l_email'>Elektronická pošta:</label><br /><input id='registrace_input' type='text' name='email' value=''.$_POST["email"].''><br />
<input id='registrace_tlacitko' type='Submit' name='inputsubmit1' value='Zaregistrovat'>
'
;}
;?>


Problém je v tom, že to vypíše tuto hlášku:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/free/ic.cz/s/satanus-drd/root/www/moduly/registrace.php on line 15


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/free/ic.cz/s/satanus-drd/root/www/moduly/registrace.php on line 16
Děkujeme za registraci. Na vaši adresu tomas.triska@seznam.cz byly zaslány informace pro její dokončení.


Někde jsem si přečetl, že to dělá MySQL často, ale už tam nebylo řešení jak z toho ven. Mohl by mi prosím někdo poradit?
nightfish
Profil
problém je v přebývajícím znaku dolaru v "$$mysql_spojeni"
djlj
Profil
Co je v proměnné $mysql_spojeni? Jsi vůbec připojen k MySQL?

Upraveno: Aha, řešení napsal už nightfish; tak detailně jsem to neprohlížel.
bukaj
Profil
elseif (jmenovdb ($_POST["jmeno"], $$mysql_spojeni)) echo
tak tady by mělo být jen $mysql_spojeni

a obsahuje vůbec $mysql_spojeni link na spojení s MySQL vytvořený fcí mysql_connect()?

***edit: zase pozdě :)
iver
Profil
Bože jsem to ale vůl:-D. Večer to zkusím, a dám vědět jak to dopadlo. Jinak databáze je připojená, dělá mi to chybu čistě v té funkci:-D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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