Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/sql] edycja skryptu pod własne potrzeby...
Forum PHP.pl > Forum > PHP
ziomeq
Witam. Edytowałem skrypt "Maine Ex" pod wlasne potrzeby. Skrypt jak widac, mial tworzyc w tabeli dodatkowo nick i haslo. Niestety. Ani nie dodaje tych rekordow do bazy, ani nic niej nie pobiera.
Na dole podaje oba pliki.

formularz.html:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <Title>Formularz</title>
  3. </Head>
  4. <FORM method="POST" action="do.php">
  5. <P>Podaj nick: <INPUT type="text" name="nick" size="10" maxlength="10"></P>
  6. <P>Podaj hasło: <INPUT type="text" name="haslo" size="10" maxlength="10"></P>
  7. <input type="submit" value="Rejestruj" />
  8. </FORM>
  9. </BODY>
  10. </HTML>


do.php:


  1. <?php
  2.  
  3. include("config.inc.php");
  4.  
  5. srand((double)microtime()* 10000);
  6. $sid      = session_id();
  7. $ip       = $_SERVER["REMOTE_ADDR"];
  8. $_POST [nick] = $nick
  9. $_POST [haslo] = $haslo
  10.  
  11. $coon = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
  12. $sql       = "SELECT 'lockid', 'nick', 'haslo' FROM `fotoklicks_sperre` ORDER BY 'lockid' ASC ";
  13.  
  14. $result   = mysql_query("SELECT `id`, `IP`, `SID`, 'nick', 'haslo' FROM `fotoklicks_uid` WHERE `SID` = '".$sid."' AND `IP` = '".$ip."' ;");
  15. $data     = mysql_fetch_assoc($result);
  16.  
  17. if(mysql_num_rows($result) == 0)
  18. {
  19.      $id  = rand(1000, 99999999);
  20.      mysql_query("INSERT INTO `fotoklicks_uid` (`id`, `IP`, `SID`) VALUES ('".$id."', '".$ip."', '".$sid."');");
  21. }
  22. else
  23. {
  24.      $id  = $data["id"];
  25.      $sid = $data["SID"];
  26. }
  27.  
  28. if(!empty($_GET["id"]))
  29. {
  30.      $result2 = mysql_query("SELECT * FROM `fotoklicks_sperre` WHERE `IP` = '".$ip."';");
  31.      $data2   = mysql_fetch_assoc($result2);
  32.      if($data2["IP"] != $ip)
  33.      {
  34.           mysql_query("INSERT INTO `fotoklicks_sperre` (`uid`, `IP`, `UAgent`, `time`, 'nick', 'haslo') VALUES ('".mysql_real_escape_string($_GET["id"])."', '".$ip."', '".$_SERVER["HTTP_USER_AGENT"]."', UNIX_TIMESTAMP(), '".$nick."', '".$haslo."' ;");
  35.      }
  36. }
  37.  
  38. $mysql_result = mysql_query($sql,$coon) or die(mysql_error());
  39.  
  40. echo "<TABLE BORDER=1>
  41. <TR>
  42. <TH>ID</TH>
  43. <TH>Nick</TH>
  44. <TH>Haslo</TH>
  45. </TR>";
  46.  
  47. while (#row = mysql_fetch_array($mysql_result))
  48. {
  49. $show_id = $row["lockid"];
  50. $show_nick = $row["nick"];
  51. $show_haslo = $row["haslo"];
  52.  
  53. echo"<TR>
  54. <TD>$show_id</TD>
  55. <TD>$show_nick</TD>
  56. <TD>$show_haslo</TD>
  57. </TR>";
  58. }
  59.  
  60. echo "</TABLE>";
  61. ?>


Powinien tworzyć nowe dane w bazie i wyświetlać wszystkie.
Nie robi ani tego, ani tego ; )
Proszę, pomóżcie.
z3L
Nie mieszaj tak php z html na przyszłość, tam pobierasz sobie id poprzez GET, a formularzem wysyłasz jako post, jak to sobie wyobrażasz?

Wysyłasz formularz, w pliku do którego wysłany formularz idzie, robisz coś typu: if ($_POST) { i dalsze operacje

  1. <?php
  2.  
  3. if ($_POST) {
  4.    $query = "SELECT * from ble WHERE login=".$_POST['login']."";
  5.    
  6.    // ... Dalsze operacje
  7. }
  8.  
  9.  
  10. ?>
  11.  
  12. <html>
  13. <head>
  14. </head>
  15.  
  16. <body>
  17.  
  18. <form action="/" method="post">
  19.    Login: <input type="text" name="login"/>
  20.    Hasło <input type="password" name="password"/>
  21. </form>
  22.  
  23. <?php if ($_POST): ?>
  24. Wyświetlone dane:
  25. Login : <?=$_POST['login'];?>
  26. Hasło : <?=$_POST['password'];?>
  27. <?php endif;?>
  28.  
  29. </body>
  30. </html>


Oczywiście jest to tylko prowizorka, by Cię naprowadzić, tego się nie powinno robić, daje Ci tylko gotowy obraz tego co próbujesz zrobić.
mhw
Na pierwszy rzut oka:
Po pierwsze nie wybierasz nigdzie bazy danych, a więc po
mysql_connect($db_host, $db_user, $db_pass);
powinieneś dać jeszcze
mysql_select_db($jakas_baza);.
Po drugie
while ($row = mysql_fetch_array($mysql_result)), a nie #row.
Po trzecie
$_POST ['nick'] = $nick;
$_POST ['haslo'] = $haslo;

zapomniałeś o średnikach na końcu linii i ' przy stringach.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.