Autor Zpráva
gygabyte
Profil *
Mám script na jednoduché vložení záznamu do databáze, na IC to funguje bez problému, ale na WZ mi to fungovalo jednou a pak už ne.... nemáte s tímto někdo nějaké zkušenosti?
Philber
Profil
to asi bude chyba v kódu,.. zkus ho sem postnout
Joker
Profil
S výpadky celkem běžně, že by něco jelo jen napoprvé a pak už vůbec, to ne :-)

Nejde to pak třeba jinou větví skriptu, nebo nenastane nějaká chyba?
gygabyte
Profil *
tady je
<?php
function registrace() {
 db_connect();
 $nick = $_POST['nick'];  /* inicializace proměné */
 $mail = $_POST['mail']; /* inicializace proměné */
 $heslo = $_POST['heslo'];  /* inicializace proměné  */
 $heslo = md5($heslo); /* šifrování hesla */
 $dotaz = "SELECT * FROM users WHERE user='$nick'";  // SQL dotaz v proměné
 $result = mysql_query($dotaz);   // vykonání SQL dotazu
 $pocet = mysql_num_rows($result); // počet záznamů vyhovujících dotazu
 echo mysql_error();
  if($pocet!=1) {                // podmínka...
  $dotaz = "INSERT INTO users (user, heslo, mail) VALUES ('$nick', '$heslo', '$mail')"; /* SQL dotaz na vložení přihlašovacích údajů do databáze */
  $result = mysql_query($dotaz); // vykonání SQL dotazu
  echo "Registrace byla úspěšná";  // Info o stavu
 }
  else echo "Uživatelské jméno již existuje";  // Error
}
?>
yFang
Profil
gygabyte
A jak se projevuje ta nefunkčnost? Vypíše to nějakou chybu?
gygabyte
Profil *
nevypíše prostě se nic nestane
Kajman_
Profil *
Tak to asi nevoláte tu funkci, jinak by to mělo vypsat, že úspěch, nebo že již existuje.
Mastodont
Profil
  $result = mysql_query($dotaz); // vykonání SQL dotazu
  echo "Registrace byla úspěšná";  // Info o stavu

Kde je kontrola $result a případné vypsání chyby?
Jinak klasicky chybí jakákoli ochrana proti SQL injection a klasicky je použito "select *", když stačí "select user" :-((((
gygabyte
Profil *
Ale volám funkci.....
btw: je možnost že bych se z WZ napojoval na db na IC?
zvěřiňák
Profil *
gygabyte
Nenechal jsi tam údaje o databázi, ke které se připojuješ, z toho minulého?
Tohle:
DEFINE ('DB_UZIVATEL', '*********');
DEFINE ('DB_HESLO', '******');
DEFINE ('DB_HOSTITEL', 'localhost');
DEFINE ('DB_DATABAZE', '*********');

$dbc = mysql_connect(DB_HOSTITEL, DB_UZIVATEL, DB_HESLO) OR die("Připojení k databázi selhalo. Webový server má technické problémy, omlouváme se.");
mysql_query("set names 'cp1250';");
$vyber_databaze = mysql_select_db(DB_DATABAZE) OR die("Připojení k databázi selhalo. Webový server má technické problémy, omlouváme se.");
Datel
Profil *
Na wz.cz mam taky nainstalovane minibb fórum, ale zlobí mě při vytváření nového fóra. Kliknul jsem na "Create forums", vyskocilo okno na "login". Prihlasil jsem se do systemu, kde jsem mel cele admin menu. Tam jsem si tedy znovu kliknul na "create forums" a znovu se me to pta na login a heslo....a tak to bezi porad dokola. Neměli jste s tím problémy?

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: