Autor Zpráva
indicie
Profil
Ahoj,

skript napsaný dole mi neustále vypisuje, že jsem nevyplnil text příspěvku (Zapomněli jste zadat text příspěvku ;-().

Pridat.php
<html>
<head>
<title>Pridat</title>
</head>
<body>
<?php
require_once ("../UFO.inc");
require_once ("OtevriDB.inc");

$Kdy =date("Y-m-d H:i:s");
$Kdo =Parametr("Kdo");
$Co =Parametr("Co");
$Text =Parametr("Text");

if (strlen($Kdo)==0) $Kdo="Anonym";
if (strlen($Co)==0) $Co="???";
if (strlen($Text)==0) {
$Zprava="Zapomněli jste zadat text příspěvku ;-(";
} else do {
if (!OtevriDB()) break;
$sSQL = "INSERT INTO diskuse
(Kdo, Co, Kdy, Text) VALUES('$Kdo', '$Co', '$Kdy', '$Text',)";
$vysledek=MySQL_Query($sSQL);
if(!$vysledek) { echo "Litujeme, ale příspěvek se nepodařilo zapsat :-("; break; }
$Zprava="Děkujeme za váš příspěvek do diskuze k naší stránce :-)";
mysql_Close();
} while (false);
echo "
<h3>$Zprava</h3>
";
?>
</p>
<a href="Stranka.htm">Návrat na stránku ..</a>
</body>
</html>

UFO.inc
<?
function Parametr ($Nazev, $PokudNeni_Vrat="" )
{ //IB **********
//Z globálních polí $HTTP_POST_VARS, resp. $HTTP_GET_VARS získá
//hodnotu položky definované argumentem $Nazev. Pokud danému názvu
/*v globálních polích není přiřazena hodnota, vrátí funkce obsah proměnné $PokudNeni_Vrat. */
global $HTTP_POST_VARS, $HTTP_GET_VARS;
$Param=$PokudNeni_Vrat;
if (isset($HTTP_POST_VARS[$Nazev])) {
$Param=$HTTP_POST_VARS[$Nazev];
} else {
if (isset($HTTP_GET_VARS[$Nazev]))
$Param=$HTTP_GET_VARS[$Nazev];
}
}
if (strlen($Param)>0) {
$Param=stripslashes(urlcode($Param));
}
return $Param;
?>

PHP se učím, takže to nejspíše bude malá chybka.

Předem děkuji.
fuckin
Profil *
} while (false);
toto tam dela co? Kdyz to chces vypsat jednou tak to nemusis prece davat do cyklu, ne?

Vypis tam chybu db jestli neni problem v dotazu
echo mysql_error();
indicie
Profil
} while (false);
toto tam dela co? Kdyz to chces vypsat jednou tak to nemusis prece davat do cyklu, ne?

Vypis tam chybu db jestli neni problem v dotazu
echo mysql_error();


Mohl by jsi mi napsat, co tam mám přesně dát? V PHP se moc neorientuji a pojem cyklus je mi neznámý. Děkuji.
AM_
Profil
Zkus se PHP učit odněkud jinud, tenhle guestbook je napsaný otřesně, jednak funkce Parametr je naprosto zbytečná, od toho je dnes pole $_REQUEST. Pole HTTP_*_VARS byla také nahrazena _*. Short_open_tag, neboli <?, se už také nepoužívá, místo toho máš mít všude <?php
možná už máš i na serveru staré názvy HTTP_*_VARS vypnuté a proto to neběhá.

pojem cyklus je mi neznámý
cykly jsou příkazy jako for, while...do atd... zkrátka opakující se blok pod nějakou podmínkou
indicie
Profil
Zkus se PHP učit odněkud jinud, tenhle guestbook je napsaný otřesně, jednak funkce Parametr je naprosto zbytečná, od toho je dnes pole $_REQUEST. Pole HTTP_*_VARS byla také nahrazena _*. Short_open_tag, neboli <?, se už také nepoužívá, místo toho máš mít všude <?php
možná už máš i na serveru staré názvy HTTP_*_VARS vypnuté a proto to neběhá.

„pojem cyklus je mi neznámý“
cykly jsou příkazy jako for, while...do atd... zkrátka opakující se blok pod nějakou podmínkou


Neznáš nějakou dobrou publikaci? Nyní mám z roku 2003 a je dost zmatená.
AM_
Profil
Neznáš nějakou dobrou publikaci? Nyní mám z roku 2003 a je dost zmatená.
učím se tak nějak "za letu", takže bohužel konkrétní ti nedoporučím, ale obecně - ke studiu PHP si pořid co nejaktuálnější, rozhodně napsanou pro PHP 5, verzi co verzi se spousta věcí mění a tohle vypadá jako nefalšované PHP 3, které používá dnes již pravěké konstrukce. Lze to studovat i z on-line článků, ale bohužel i ty jsou často dost zastaralé.
fuckin
Profil *
Vypis tam chybu db jestli neni problem v dotazu
echo mysql_error();

fuckin
Profil *
mimochodem, s tim kodem si tak 7 roku pozadu, prakticky na kazdem radku je nejaka kravina. Kup si nejakou knizku php 5, napr na cpress.cz
PetrPN
Profil
Všiml jsem si,že tam máš čárku navíc..

(Kdo, Co, Kdy, Text) VALUES('$Kdo', '$Co', '$Kdy', '$Text',)";


tady bez ní... porovnej..

(Kdo, Co, Kdy, Text) VALUES('$Kdo', '$Co', '$Kdy', '$Text')";

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: