Autor Zpráva
bicebs
Profil
Neviem prečo mi to nechce zobraziť.
Tu je adresa http://srva0.endora.cz/velkybicebs.hys.cz/web/registracia/novysubor1.php.
Tu je skript.
      <?
  function JeEmail ($cislo)
  {
    return ereg("^.+@.+\..+$",$cislo);
  }

  function emailvdb ($email, $link)
  {
    $vysledek=mysql_query("select * from pouzivatelia where email='".$email."'", $link);
    return (boolean) mysql_num_rows($vysledek);
  }  

  function prezivkavdb ($prezivka, $link)
  {
    $vysledek=mysql_query("select * from pouzivatelia where prezivka='".$prezivka."'", $link);
    return (boolean) mysql_num_rows($vysledek);
  }  
  $link=mysql_connect(SQL_sqla.endora.cz, SQL_meno, SQL_heslo)or die("Nelze se připojit k MySQL: " . mysql_error());
  mysql_select_db(SQL_databazauzivatelov)or die("Nelze vybrat databázi: ". mysql_error());
  mysql_query("SET NAMES 'utf8'");
  
  $BudemeZobrazovat=true;
  if (!empty($_POST)) // už se odeslalo
  {
    if (!JeEmail($_POST["email"])) echo "Není zadán platný e-mail";
    elseif (emailvdb($_POST["email"], $link)) echo "Uvedený e-mail je již registrován";
    elseif (prezivkavdb ($_POST["prezivka"], $link)) echo "Uvedená přezdívka je již registrována";
    elseif ((strlen ($_POST["prezivka"])>50) | strlen ($_POST["prezivka"])<3)echo "Přezdívka musí mít 3-50 znaků";
    elseif ((strlen ($_POST["heslo"])>50) | strlen ($_POST["heslo"])<3) echo "Heslo musí mít 3-50 znaků";
    else
    {
      $BudemeZobrazovat=false;
      echo "Děkujeme za registraci. Na vaši adresu ".$_POST["email"]." byly zaslány informace pro její dokončení.";
      mysql_query ("insert into pouzivatelia (email, prezivka, heslo) values ('".$_POST["email"]."', '".$_POST["prezivka"]."', '".$_POST["heslo"]."');", $link);
      $lastid=mysql_insert_id();
      $path=".":".$_SERVER["SERVER_PORT"].$_SERVER["SCRIPT_NAME"]."?clanek=registracedokoncena&amp;id=".$lastid."&amp;email=".$_POST["email]http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["SCRIPT_NAME"]."?clanek=registracedokoncena&amp;id=".$lastid."&amp;email=".$_POST["email"];
      $telo = "Dekujeme Vam za registraci na nasem portale [nazev hudebniho portalu]. Pro dokonceni ".
      "registrace klepnete na nasledujici odkaz\n".
      "<a href=\"$path\">$path</a>\n".
      "Pokud jste se na nasem portale nechteli zaregistrovat, povazujte tento e-mail za bezpredmetny.\n".
      "Vas [nazev hudebniho portalu] team.";
      $hlavicky="From: ".$_POST["email"]."\nReturn-Path:".$_POST["email"];
      @mail ($_POST["email"], "Registrace na portalu", $telo, $hlavicky, "-f ".$_POST["email"]);
    }
  }
if ($BudemeZobrazovat):?>
  <form method="post" action="index.php?clanek=registrace">
  <table>
    <tr>
      <td>Přezdívka:</td>
      <td><input name="prezivka" value="<?echo $_POST["prezivka"]?>"></td>
    </tr>
    <tr>
      <td>E-mail:</td>
      <td><input name="email" value="<?echo $_POST["email"]?>"></td>
    </tr>
    <tr>
      <td>Heslo:</td>
      <td><input name="heslo" type = "password" value="<?echo $_POST["heslo"]?>"></td>
    </tr>
    <tr>
      <td colspan="2"><input type="Submit" name="odesli" value="Zaregistrovat"></td>
    </tr>
  </table>
  </form>
<?endif;?>
Fisir
Profil
Reaguji na bicebse:
A sakra…

1.) V podmínkách používáš znak |, pravděpodobně máš ale na mysli || nebo or.
2.) Funkce mysql_* jsou zastaralé, stejně tak i ereg.
3.) Používáš nějaký editor, který ti obarvuje kód? Protože pokud ano, další chybu bys hned viděl, jako tady. Na řádku 36 jsou velice zajímavým způsobem zpracované uvozovky.
4.) Někdy (nevím, jak na Endoře) může být problém s krátkými otevíracími značkami PHP (<?), raději používej <?php.

Mimochodem, ten odkaz vrací chybu 404.
bicebs
Profil
Ja som to robil podľa linuxsoftu http://www.linuxsoft.cz/article.php?id_article=538
a to mysql_ stačí opraviť na mysqli?
Fisir
Profil
Reaguji na bicebse:
Je dobré se občas podívat i na datum vydání článku.

to mysql_ stačí opraviť na mysqli?
Četl's ten odkázaný článek?
bicebs
Profil
To musím podľa toho celé toto prerobiť?
A ako treba upraviť toto $link=mysql_connect(SQL_sqla.endora.cz, SQL_meno, SQL_heslo)or die("Nelze se připojit k MySQL: " . mysql_error());
Fisir
Profil
Reaguji na bicebse:
Nemusíš, můžeš. Ale jestli čekáš, že ti tu vyplivneme řešení, nejlépe i opravený kód rovnou pod nos a bez jakéhokoli snažení z tvé strany, tak jsi na omylu.

ako treba upraviť toto
$database = new mysqli(SQL_sqla.endora.cz, SQL_meno, SQL_heslo);
Všechno je to přece popsané v tom článku. Četl's ho?
bicebs
Profil
Nie ja sa len chcem opýtať na $link=mysql_connect či to stačí prepísať na $link= new mysqli tak ako to píše v tom článku.
Fisir
Profil
Reaguji na bicebse:
Nestačí přepsat jen kód pro připojení k databázi, je třeba přepsat každou mysql_* funkci. Teď to klidně můžeš nechat tak, jak to je, ale v dalších prohlížečích :-D projektech použij raději MySQLi nebo PDO.
bicebs
Profil
Ale čo potom treba opraviť?
Fisir
Profil
Reaguji na bicebse:
WOW. [#2]
Generation
Profil *
Rekl bych ze adresa odkazu ma byt takto http://velkybicebs.hys.cz/registracia/novysubor1.php
bicebs
Profil
Možno je problém s nastavením na hostingu.
Fisir
Profil
Reaguji na bicebse:
Chybová hláška ti nic neříká? („Nelze se připojit k MySQL: Access denied for user 'bicebs'@'sasanka.stable.cz' (using password: YES)“) Máš špatné údaje pro připojení k databázi, ale i tak to to bez opravení bodů 1, 3 a 4 z [#2] nepůjde.

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: