Problem s PHP a MySQL

From: =?iso-8859-2?Q?=A9t=ECp=E1n Oliva (stepan.oliva@email.cz)
Date: 12. 04. 2000, 12:18 CEST


Zdravim, mam takovy problem s nazvem PHP - zapis do MySQL pres browser. Koupil
 jsem si knizku od J. Koska a opisem se snazim zapisovat do databaze, ale
 jaksi to nejede. Priklady po mne chteji prikazy pro ODBC - ty jsem prevedl
 na MySQL.

Poradte prosim, kde mam chybu. zde jsou skripty.
-------------------------------
edit.php
-------------------------------
<? 

$status = true;

do {
	if (!IsSet($cislo)):
		$status = false;
		break;
	endif;
	@$spojeni = MySQL_Connect("localhost");
	MySQL_Select_DB("mediastore");
	if (!$spojeni):
		$status = false;
		break;
	endif;
	@$vysledek = MySQL_Query("insert into tituly values ('$interpret', '$titul',
 '$medium', $obr, $cena)");
	if (!$vysledek):
		$status = false;
		break;
	endif;
} while (false);

$type = "insert";

$path = SubStr($SCRIPT_NAME, 0, StrRPos($SCRIPT_NAME, "/"))."/info.php?status=$status&type=$type";

Header ("Location: http://$SERVER_NAME:$SERVER_PORT$path");

 ?>



--------------------------------
sprava.php
--------------------------------

<? 

	Header ("Expires: ".GMDate("D, d M Y H:i:s")." GMT")

 ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Správa MediaStore.cz</title>
</head>
<body bgcolor="White" text="Black">

<? 
do {
	@$spojeni = MySQL_Connect("localhost");
	if (!$spojeni):
		echo "<b>Nepodařilo se spojit s databází.\n</b>";
		break;
	endif;
	MySQL_Select_DB("mediastore");
	@$vysledek = MySQL_Query( "SELECT Max(cislo)+1 FROM tituly"); // zjištění
 nového čísla titulu
	if (!$vysledek):
		echo "<b>Chyba při prohledávání tabulky v databázi.</b>\n";
		break;
	endif;
	if (MySQL_Fetch_Row($vysledek))
		$c = MySQL_Result($vysledek, 0);
	else
		$c = "";
} while (false);
?>

<form action="edit.php" method="POST">
<table border=0>
<tr>
	<td><b>Interpret</b></td>
	<td><b>Titul</b></td>
	<td><b>Medium</b></td>
	<td><b>Obrázek</b></td>
	<td><b>Cena</b></td>
</tr>
<tr>
	<td><input type="Hidden" name="cislo" value="<?echo $c?>" alt="">
	    <input type="text" name="interpret" size=30 maxlength=50 alt="abc"></td>
	<td><input type="text" name="titul" size=30 maxlength=50 alt=""></td>
	<td><input type="text" name="medium" size=3 maxlength=2 alt=""></td>
	<td><input type="text" name="obr" value=0 size=2 maxlength=1
 alt=""></td>
	<td><input type="text" name="cena" size=10 maxlength=13 alt="">Kč
	    <input type="Hidden" name="hints" value=0 alt=""></td>
</tr>
</table>
<input type="submit" value="Přidat titul do databáze!!" alt="">
<input type="reset" value="Vymazat formulář" alt="">
</form>


</body>
</html>



-------------------------------
info.php
-------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>!!! doplnit titulek !!!</title>
</head>
<body bgcolor="White" text="Black">

<? 

$msg = Array("insert"=>Array("přidat", "přidán"),
	     "delete"=>Array("smazat", "smazán"),
	     "update"=>Array("modifikovat", "změněn")
	)

 ?>
<? if ($status): ?>
<h1>Záznam byl úspěšně <? echo $msg[$type][1] ?></h1>
<? else ?>
<h1>Záznam se nepodařilo <? echo $msg[$type][0] ?></h1>
<? endif ?>
<a href="sprava.php">Dále upravovat</a>
</body>
</html>

----------------------------------------

Problem je, ze po odeslani fomulare se objevi v radku s url pouze edit.php
 a stranka je bila a do databaze se mi vubec nic neprida.
Diky Stepan Oliva 



This archive was generated by hypermail 2.1.2 : 04. 09. 2001, 01:20 CEST