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é.
-
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
-
a proč se všechna pole (viz ty echa dole) jmenujou "jmeno"?
-
A proč to nepíšeš tam, kam to patří ? Do sekce PHP ? Tam je určitě víc zaměřených odporníků :-)