« 1 2
Autor Zpráva
rovi
Profil
V tomhle případě nevkládej v dotazu vůbec id a jeho hodnotu ''. Mmnt, upravím post...
lionel messi
Profil
michal454454:
Ten query, kt. vkladáš užívateľa (riadok 54, registrace.php):
$sql= mysql_query("INSERT INTO uzivatele VALUES (NULL,'$nick','$md5_heslo','$email')") or die(mysql_error());

Ešte jedna poznámka, na ostrom produkčnom serveri nepoužívaj konštrukciu or die, hodí sa len na localhost.
michal454454
Profil
takze od zacatku mam tedy vytvoren databazi my sql wsalbiondat která je pripojena přes connect.php k registraci.php
všechno na první pohled funguje akorát to vypisuje upozorneni s tou zastaralosti verze.. takze by snad se mělo jit normalne ne localu zaregistrovat do databaze ne? nebo to musím udelat přes web server a vytvořit si na localu jinou databazi? jinak uz to vazne nechapu..diky za odpovedi
rovi
Profil
Musíš vynechat ty '' v dotazu
$sql = "INSERT INTO uzivatele VALUES($nick,$md5_heslo,$email)";
, aby fungovala autoinkrementace v db.
lionel messi
Profil
michal454454:
takze by snad se mělo jit normalne ne localu zaregistrovat do databaze ne?
Idem to skúsiť.

Píše mi: Nastala chyba v pripojeni k databazi.
lionel messi
Profil
rovi:
Musíš vynechat ty '' v dotazu
Radšej nech to uvedie tak, ako som písal v [#3], lepšie napísať pár znakov navyše, než sa diviť chybovej hláške column count doesn' match value count.
michal454454
Profil
Dobra vlozim sem ty zdrojove kody ještě a ted by mi zajímalo co tedy na tom musim zmenit aby to fungovalo.. databazi nechám MySQL samotnou

connect.php
<?php
$db_server    = 'localhost';
$db_login     = 'root';
$db_password = "wsalbion789";  
$db_name      = 'wsalbiondat';
$spojeni      = MySQL_Connect($db_server ,$db_login, $db_password);
MySQL_Select_DB($db_name)or die('<p style="color: #CC0000">Nastala chyba v pripojeni k databazi');
mysql_query("set names utf8");
?>

fanszona(registrace).php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
      <meta http-equiv="content-type" content="text/html; UTF-8">
       <meta name="generator" content="PSPad editor, www.pspad.com">
      <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
      <script src="jssslider.js"></script>
      <link rel="stylesheet" type="text/css" href="stylefanszona.css">
  <title>WEST SANDWICH ALBION</title>
  </head>
  <body>
  REGISTRACE do FANSZÓNY
<form action="#" method="post">     
  <table>
    <tr>
      <td>Nick: </td>
      <td><input type="text" name="nick" value="<?php if(isset($_POST["nick"])){echo $_POST["nick"];}?>" size="25" tabindex="1" /></td>
    </tr>
    <tr>
      <td>Heslo: </td>
      <td><input type="password" name="heslo" value="" size="25" tabindex="2" /></td>
    </tr>
    <tr>
      <td>Ověření hesla: </td>
      <td><input type="password" name="over_heslo" value="" size="25" tabindex="3" /></td>
    </tr>
    <tr>
      <td>Email: </td>
      <td><input type="text" name="email" value="<?php if(isset($_POST["email"])){echo $_POST["email"];}?>" size="25" tabindex="4" /></td>
    </tr>
    <tr>
      <td colspan="2"><input type="submit" name="submit" value="Registrovat se" /></td>
    </tr>
  </table>
</form>

<?php
include "./connect.php";/* připojení k databázi */
if(isset($_POST['submit'])) {
    $nick = mysql_real_escape_string($_POST['nick']);
    $heslo = mysql_real_escape_string($_POST['heslo']);
    $over_heslo = mysql_real_escape_string($_POST['over_heslo']);
    $md5_heslo = md5($heslo);
    $email = mysql_real_escape_string($_POST['email']);
    /* — KONTROLA ZADANÝCH ÚDAJŮ — */
    $user_check = mysql_query("SELECT login FROM uzivatele WHERE login='".$nick."'");
    if($nick==""){echo"Nebyl vyplněn nick!";}
    else if(mysql_num_rows($user_check)){echo"Tento nick používá již jiný uživatel.";}
    else if($heslo==""){echo"Nebylo vyplněno heslo";}
    else if($over_heslo==""){echo"Nebylo vyplněno ověřovací heslo";}
    else if($heslo!=$over_heslo){echo"Vyplněná hesla se neshodují";}
    else if($email==""){echo"Nebyl vyplněn email";}
    else{
        $sql= mysql_query("INSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')") or die(mysql_error());
        echo"Registrace byla úspěšně dokončena!";
    }
}
?>

  
 
  </body>
</html>

Tvorba databaze podle předlohy
mysql> CREATE TABLE uzivatele (id INT(11) default NULL auto_increment, login var
char(40) default NULL, heslo varchar(32) default NULL, email varchar(50) default
 NULL, PRIMARY KEY (id)) ENGINE=MyISAM default CHARSET=utf8;
Query OK, 0 rows affected (0.16 sec)
rovi
Profil
lionel messi
byls rychlejší než má reakce. Určitě je lepší napsat pár znaků navíc než dumat, kde je chyba...
michal454454
Profil
Prosím reknete mi co mam zmenit tedy v tech jednotlivých zdrojových kodech tak aby DB fungovala... diky moc :)
rovi
Profil
Však už jsme Ti to postnuli. Jak máš sql dotaz pod [quote] nebyl vyplněn email [/quote] tak ho uprav a místo '' tam napiš NULL
michal454454
Profil
ted nevím který řádek myslíš je to tohle..?
  $sql= mysql_query("INSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')") or die(mysql_error());
        echo"Registrace byla úspěšně dokončena!";
lionel messi
Profil
michal454454:
ted nevím který řádek myslíš je to tohle..?
Áno.
michal454454
Profil
jako místo tech uvozovek napsat co? nic? nechat to bez nich?
lionel messi
Profil
michal454454:
jako místo tech uvozovek napsat co?
NULL
michal454454
Profil
takze to bude takto?
$sql= mysql_query(NULLINSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')NULL) or die(mysql_error());
        echo"Registrace byla úspěšně dokončena!";
rovi
Profil
To ne, koukni na příspěvek [#3]
michal454454
Profil
takze je mam jenom vymazat ty "? nebo ja ted nevim uz..
lionel messi
Profil
$sql= mysql_query("INSERT INTO uzivatele VALUES (NULL,'$nick','$md5_heslo','$email')") or die(mysql_error());
        echo"Registrace byla úspěšně dokončena!";
michal454454
Profil
Ted to funguje akorát jedine mi to porad vypisuje tu chybu s tou verzi databaze jinak uživatel se normalne zaregistruje, nevite ještě jak bych to varovani na tu verzi odstranil...? diky a vadit to nejak nevadi ne?
lionel messi
Profil
michal454454:
nevite ještě jak bych to varovani na tu verzi odstranil...?
Spôsobov je viacero. Napríklad na začiatok súboru connect.php napíš:
<?php
ini_set("display_errors", "Off");
error_reporting(0);

musí to byť na úplnom začiatku, ešte pred pripojením k db.
michal454454
Profil
ok diky.. a potom tedy k registraci a prihlaseni na webhostingu budu potrebovat vyuzit databaze primo na tom jejich serveru tak například vyuzit databaze na webzdarma..? jinak to nepujde teda..
rovi
Profil
To už je jedno jaký server s databází použiješ. Jestli máš veřejnou ip adresu, tak to můžeš používat i tu, co máš na localhostu, ale s tvou veřejnou ip. Ale k tomu je spousta dalšího řešení. Např. nefunkčnost webu při vypnutým tvojím pc.
Založ databázi na endoře a vyplň údaje v connect.php.
OT:
To máš toto jako maturitní práci? Jakou školu to děláš? Proč ses pustil do tohoto zadání, když to vůbec neovládáš? Jasně, děláš pokroky, ale máš hodně co dohánět. Budeš řešit např. práva uživatelů? Co administrační rozhraní? Strukturálně to bude pěkná prasárna. Doporučuju oddělit logiku (php skripty) od html zobrazení, aby se v tom alespoň někdo vyznal. Všimni si, že tvé kódy už mají skoro sto řádků... Za chvíli budeš mít milion souborů s miliardama řádků duplicitního kódu, který bude značně nestabilní.
Pošli mi fb na admin@rovis.tk a pokecáme... Třeba ti pomůžu i s tim vedením DMP. Klidně špatně, ale alespoň se naučíš základy. Btw. jaké máš zadání DMP?
michal454454
Profil
rovi:
ok uz jsem ti poslal email s fb
« 1 2

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