Pomozte mi prosím najít chybu! Nejde to:(

9 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Na řádku 206 to vypisuje chybu, ale já jí nemůžu najít.. Newim, jak jí mám opravit. Pomozte mi ji prosím najít... <?php function formular() { ?> <form method="post" action="registrace.php"> <table width="100%" border="0" cellpadding="4" cellspacing="0"> <tr> <td width="24%" align="left" valign="top">Přihlašovací jméno [!]</td> <td width="76%"><input name="username" type="text"></td> </tr> <tr> <td align="left" valign="top">Kolej [!]</td> <td><input name="kolej" type="text"></td> </tr> <tr> <td align="left" valign="top">Email [!]</td> <td><input name="email_address" type="text"></td> </tr> <tr> <td align="left" valign="top">ICQ</td> <td><input name="icq" type="text"></td> </tr> <tr> <td align="left" valign="top">Místo</td> <td><input name="misto" type="text"></td> </tr> <tr> <td align="left" valign="top">Datum narození</td> <td><input name="narozeni" type="text"></td> </tr> <tr> <td align="left" valign="top">Pohlaví</td> <td><input name="pohlavi" type="text"></td> </tr> <tr> <td align="left" valign="top">Pravé jméno</td> <td><input name="jmeno" type="text"></td> </tr> <tr> <td align="left" valign="top">Zájmy</td> <td><textarea name="info"></textarea></td> </tr> <tr> <td align="left" valign="top"> </td> <td><input type="submit" name="submit" value="Registrovat"></td> </tr> </table> </form> <?php } function konec() { ?> </body> <?php } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <head> <meta http-equiv="Content-Language" content="cs"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <title>Registrace</title> </head> <body background="http://hocz-online.ic.cz/image/backgroundtatable1.jpg"> <?php if (isset($submit)) { include 'db.php'; // definice proměnných $username = $_POST['username']; $kolej = $_POST['kolej']; $email_address = $_POST['email_address']; $icq = $_POST['icq']; $misto = $_POST['misto']; $narozeni = $_POST['narozeni']; $pohlavi = $_POST['pohlavi']; $jmeno = $_POST['jmeno']; $info = $_POST['info']; $username = stripslashes($username); $kolej = stripslashes($kolej); $email_address = stripslashes($email_address); $icq = stripslashes($icq); $misto = stripslashes($misto); $narozeni = stripslashes($narozeni); $pohlavi = stripslashes($pohlavi); $jmeno = stripslashes($jmeno); $info = stripslashes($info); // kontrola vyplnění údajů if((!$username) || (!$kolej) || (!$email_address)){ echo '<b>Během registrace nastaly tyto chyby:</b><br>'; echo '<ul>'; if(!$usernamename){ echo "<li>Chybí přihla?ovací jméno!</li>"; } if(!$kolej){ echo "<li>Chybí název koleje!</li>"; } if(!$email_address){ echo "<li>Chybí emailová adresa!</li>"; } echo '</ul>'; formular(); konec(); exit(); } // kontrola emailu a jména v DB $sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'"); $sql_username_check = mysql_query("SELECT username FROM users WHERE username='$username'"); $email_check = mysql_num_rows($sql_email_check); $username_check = mysql_num_rows($sql_username_check); if(($email_check > 0) || ($username_check > 0)){ echo "<b>Omlouváme se ale:</b><br>"; echo "<ul>"; if($email_check > 0){ echo "<li>Uvedená emailová adresa se ji? v databázi vyskytuje!</li>"; unset($email_address); } echo "<li>Uvedené ICQ číslo se ji? v databázi vyskytuje!</li>"; unset($email_address); } if($username_check > 0){ echo "<li>Uvedené přihla?ovací jméno je ji? pou?íváno!</li>"; unset($username); } echo "</ul>"; formular(); konec(); exit(); } // v?echny údaje jsou zkontrolovány // vygenerujeme heslo function password() { $salt = "$heslo"; srand((double)microtime()*1000000); $i = 0; while ($i <= 7) { $num = rand() % 33; $tmp = substr($salt, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } $random_password = password(); $db_password = md5($random_password); // vlo?ní údajů do DB $info2 = htmlspecialchars($info); $sql = mysql_query("INSERT INTO users (username, kolej, email_address, icq, misto, narozeni, pohlavi, jmeno, password, info, signup_date) VALUES('$username', '$kolej', '$email_address', '$username', '$icq', '$misto', '$narozeni', '$pohlavi', '$jmeno', '$db_password', '$info2', now())") or die (mysql_error()); if(!$sql){ echo '<p>Při vytváření vy?eho účtu nastala neočekávaná chyba.</p>'; } else { $userid = mysql_insert_id(); $subject = "Registrace"; $message = "Dobrý den, děkuji za registraci na stránkách http://www.hocz-online.ic.cz! Pro aktivaci va?eho účtu musíte nav?tívit tuto adresu: http://www.hocz-online.ic.cz/aktivace.php?id=$userid&code=$db_password Po aktivaci se budete moci přihla?ovat pomocí následujících údajů: Jméno: $username Heslo: $random_password Děkujeme! Toto je automoaticky sestavený email, prosím neodpovídejte na něj!"; mail($email_address, $subject, $message, "From: Webmaster<admin@hocz-online.ic.cz>\nX-Mailer: PHP/" . phpversion()); echo '<p>Informace byly zaslány na va?í emailovou adresu. Po přečtení emailu prosím dokončete registraci.</p>'; konec(); } } else { formular(); konec(); } ?>
  2. Priste pis radeji cast kodu kolem chyboveho radku a HLAVNE napis o jakou chybu se jedna. Strcit sem cely kod neni dobry napad. Nikomu se pak nebude chtit hledat za tebe chybu a navic v takove placanine. No ale kdyz uz jsou ty Vanoce. Tak chyba je v posledni casti kodu. Nevim k cemu patri posledni "} else {" na konci radku. Nekde ti tam zrejme chybi "}" nebo taky prebiva. Projdi si jeste jednou poradne vsechny podminky, jestli jsou ukoncene.
  3. asi nikdo nebude pocitat, kterej radek je 206. taky by bylo dobry rict, jakou chybu to vypisuje
  4. ok.. já vim:o) ty { kolem else tam nebyly ale ono to nefungovalo bez nich a teď to nejde ani snima:(
  5. Maikis: Mas tam konstrukci (ve zkratce): if(!$sql){ echo '<p>Při vytváření vy?eho účtu nastala neočekávaná chyba.</p>'; } else { $userid = mysql_insert_id(); $subject = "Registrace"; $message = "Dobrý den, ........ a tak dal..."; mail(......); } else { formular(); konec(); } Nemuzes tam mit dvakrat else.
  6. To mne taky napadlo. Ale to else muze taky patrit nejake jine podmince. Tak mne napadlo tam pridat jeste jedno } mail(......); } } else { formular();konec(); } Ale bez poradne kontroly to nezjistim.
  7. kua. Donny tys mne nejak poplet. Ono tam tam ta zavorka je :o) Proste rikam. Zkontroluj poradne podminky.
  8. jestli je to, co nam sem napsal, cely kod stranky, tak tam je *urcite* navic } else { formular(); konec(); } protoze uz ta prvni } uzavira neotevrenou zavorku, a pak to T_ELSE je tam proste navic, protoze nepatri k zadnemu T_IF.
  9. MAM TO! Chyba v casti: f(($email_check > 0) || ($username_check > 0)){ echo "<b>Omlouváme se ale:</b><br>"; echo "<ul>"; if($email_check > 0){ echo "<li>Uvedená emailová adresa se ji? v databázi vyskytuje!</li>"; unset($email_address); } ZDE>>> echo "<li>Uvedené ICQ číslo se ji? v databázi vyskytuje!</li>"; ZDE>>> unset($email_address); ZDE>>> } if($username_check > 0){ echo "<li>Uvedené přihla?ovací jméno je ji? pou?íváno!</li>"; unset($username); } echo "</ul>"; formular(); konec(); exit(); } Bud je navic, nebo chybi podminka.

← Zpět na všechna témata