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