Můj Adresář

3 příspěvky

Archiv diskusního fóra

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

  1. Ahoj, snažil jsem si udělat adresář kontaktů podle knížky "Programujeme PHP profesionálně" ale nějak to nefunguje. Tabulku mám již takohé hotovou viz CREATE TABLE adresar ( Jmeno VARCHAR(255), mail VARCHAR(255), mesto VARCHAR(255), popis VARCHAR(255), telefon VARCHAR(255), Id_radku INT NOT NULL PRIMARY KEY AUTO_INCREMENT); tak to je tabulka a teď ještě scripty. <b>globals.php</b> <?php // globals.php $nazev_hostitele = "localhost"; //Počítač, na kterém běží databáze Mysql $jmeno_uzivatele = "kanu"; $heslo = "kanu"; $nazev_databaze = "test"; $nazev_tabulky = "adresar"; ?> <b>main.php</b> <?php // main.php require("common.php"); // Zjištění zda je stránka voláno poprvé if (!$choice) { GenerateHTMLHeader("Pro přístup k adresáři klepněte níže"); GenerateMainPage(); } else if ($choice == "Vyhledávání") { GenerateHTMLHeader("Vyhledávání podle následujících kritérijí"); GenerateHTMLForm(0, "search.php", "Vyhledat"); } else if ($choice == "Přidat Položku") { GenerateHTMLHeader("Vyplňte pole Jméno a E-mail"); GenerateHTMLForm(0, "add.php", "Přidat"); } ?> <b>add.php</b> <?php // add.php require("globals.php"); require("common.php"); $addStmt = "Insert into $table(jmeno, mail, mesto, popis, telefon) VALUES ('%s', '%s', '%s', '%s', '%s')"; // Kontrola zda jsou zadnány všechny proměnné if ($jmeno || $mail) { DisplayErrMsg("Chyba: Všechna pole jsou povinná"); exit(); } // Připojení k databázi if (!($link = mysql_pconnect($nazev_hostitele, $nazev_uzivatele, $heslo))) { DisplayErrMsg(sprintf("Chyba při připojování uživatele %s k hostiteli %s", $nazev_uzivatele, $nazev_hostitele)); exit(); } // Výběr databáze if (!mysql_select_db($nazev_databaze, $link)) { DisplayErrMsg(sprintf("Chyba při výběru datábáze %s", $nazev_databaze)); DisplayErrMsg(sprintf("Chyba: %d %s ", mysql_errno($link), mysql_error($link))); exit(); } // Provedení příkazu if (!mysql_query($stmt=sprintf($addStmt, $jmeno, $mail, $mesto, $popis, $telefon), $link)) { DisplayErrMsg(sprintf("Chyba: provádění příkazu %s", $stmt)); DisplayErrMsg(sprintf("Chyba: %d %s ", mysql_errno($link), mysql_error($link))); exit(); } GenerateHTMLHeader("Položky byla úspěně přidána"); ReturnToMain(); ?> <b>update.php</b> <?php // update.php require("globals.php"); require("common.php"); $updateStmt = "Update $adresar set jmeno='$jmeno', mail='$mail', mesto='$mesto', popis='$popis', telefon='$telefon' where id_radku=$id_radku"; // Připojení k databázi if (!($link = mysql_pconnect($nazev_hostitele, $nazev_uzivatele, $heslo))) { DisplayErrMsg(sprintf("Chyba při připojování uživatele %s k hostiteli %s", $nazev_uzivatele, $nazev_hostitele)); exit(); } // Výběr databáze if (!mysql_select_db($nazev_databaze, $link)) { DisplayErrMsg(sprintf("Chyba při výběru datábáze %s", $nazev_databaze)); DisplayErrMsg(sprintf("Chyba: %d %s ", mysql_errno($link), mysql_error($link))); exit; } // Provedení příkazu if (!($result = mysql_query($updateStmt, $link))) { DisplayErrMsg(sprintf("Chyba: provádění příkazu %s", $updateStmt)); DisplayErrMsg(sprintf("Chyba: %d %s ", mysql_errno($link), mysql_error($link))); exit(); } // Přidání pro úspěch GenerateHTMLHeader("Položka byla upravena"); ReturnToMain(); ?> <b>commno.php</b> <?php // common.php // spoločné funkce // Generování hlavičky HTML function GenerateHTMLHeader($message) { printf("<HEAD><TITLE>Adresář na webu</TITLE><HEAD>"); printf("<BODY TEXT=\"#000000\" BGCOLOR=\"#999999\" LINK=\"#0000EE\" VLINK=\"#551A8B\" ALINK=\"#FF0000\">\n"); printf("<H1><FONT SIZE=+4>Můj adresář</FONT></H1><BR><BR>"); printf("<TABLE CELLPADDING=4 CELLSPACING=0 BORDER=0 WIDTH=600>"); printf("<TR BGCOLOR=\"#DCDCDC\"><TD><FONT FACE=Verdana><B>"); printf("%s</B></FONT><BR></TD>", $message); printf("<TD ALIGN=right>"); printf("</FONT></TD></TR>"); printf("</TABLE>"); printf("<BR>"); printf("<BR>"); } // Generování hlavní stránky function GenerateMainPage() { printf("<FORM METHOD=post ACTION=main.php>"); printf("<INPUT TYPE=\"submit\" NAME=\"choice\" VALUE=\"Vyhledávání\">"); printf("     "); printf("<INPUT TYPE=\"submit\" NAME=\"choice\" VALUE=\"Přidat Položku\">"); printf("<BR>"); printf("<BR>"); printf("<UL>"); printf("<LI>Vyhledávat v adresáři můžete klepnutím na tlačítko <I>Vyhledávání</I></LI>"); printf("<LI>Položku do adresáře můžete přidat klepnutím na tlačítko<I>Přidat položku</I></LI>"); printf("<LI>Upravyt existující položku adresáře můžete klepnutím na tlačítko<I>Upravyt</I></LI>"); printf("<LI>Odstranit položku z adresáře můžete klepnutím na tlačítko<I>Odstranit</I></LI>"); printf("</UL>"); printf("</FORM>"); } // Zobrazení chybovích zpráv function DisplayErrMsg($message) { printf("<BLOCKQUOTE><BLOCKQUOTE><BLOCKQUOTE><H3><FONT COLOR=\"#CC0000\">%s</FONT></H3> </BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE>\n", $message); } // Generování formuláře function GenerateHTMLForm($formValues, $actionScript, $submitLabel) { printf("<FORM METHOD=post ACTION=\"%s\"><PRE>\n", $actionScript); printf("Jmeno: <INPUT TYPE=text SIZE=35 NAME=jmeno VALUE=\"%s\"><BR>\n", ($formValues)?$formValues["jmeno"] : ""); printf("E-mail: <INPUT TYPE=text SIZE=35 NAME=jmeno VALUE=\"%s\"><BR>\n", ($formValues)?$formValues["mail"] : ""); printf("Město: <INPUT TYPE=text SIZE=35 NAME=jmeno VALUE=\"%s\"><BR>\n", ($formValues)?$formValues["mesto"] : ""); printf("Popis: <INPUT TYPE=text SIZE=35 NAME=jmeno VALUE=\"%s\"><BR>\n", ($formValues)?$formValues["popis"] : ""); printf("Telefon: <INPUT TYPE=text SIZE=35 NAME=jmeno VALUE=\"%s\"><BR>\n", ($formValues)?$formValues["telefon"] : ""); printf("<INPUT TYPE=submit VALUE=\"%s\">", $submitLabel); printf("</PRE></FORM>"); } function ReturnToMain() { printf("<BR><FORM ACTION=\"main.php\" METHOD=post>\n"); printf("<INPUT TYPE=submit VALUE=\"Click\">"); } ?> Když chci přidat položku tak soubor add.php my vždy napíše "Všechna pole jsou povinná" už nemám tušení co stím. Prosím poraďte Děkuji
  2. a proč se všechna pole (viz ty echa dole) jmenujou "jmeno"?
  3. A proč to nepíšeš tam, kam to patří ? Do sekce PHP ? Tam je určitě víc zaměřených odporníků :-)

← Zpět na všechna témata