Autor Zpráva
Manny
Profil *
Lidičky, zachraňte mě. Na řádku 47 mě to zdechne a já už tam nic nevidim.
<?php 
$spojeni=mysql_connect('localhost','root','');
		if (!$spojeni)
			die ('Spojení nefunguje!');

	$databaze=mysql_select_db('dubai',$spojeni);
		if (!$databaze)
			die ('Připojení k databázi nejede!');
	mysql_query("SET NAMES 'utf8'");
	
if (!empty($_POST))
{		
	$jmeno = addslashes($_POST['jmeno']);
	$text = addslashes($_POST['text']);
	$priklad = $_POST['priklad'];
	$email = $_POST['email'];//skryté pole pro spamboty
	$datum = DATE("Y-m-d");
		
	if (empty($jmeno) && empty($text) && empty($priklad))
		echo '<h3>Formulář nebyl vyplněn!</h3>';
	elseif (empty($jmeno))
		echo '<h3>Nebylo vyplněno jméno!</h3>';
	elseif (empty($text))
		echo '<h3>Nebyl zadán žádný text!</h3>';
	elseif (empty($priklad) || $priklad != 6)
		echo '<h3>Ochrana proti spamu byla špatně zadána<br>nebo zůstala prázdná!</h3>';
	elseif (!empty($email))
		echo '<h3>Zřejmě nejsi člověk</h3>';
	elseif (eregi("^.*(http://)|(www).*$",$text)) 
		echo '<h3>Bohužel,<br> není povoleno přidávat odkaz.</h3>';
	else
		{
		$sql = "SELECT COUNT(*) as pocet FROM forum WHERE text = '$text'"; 
	$dotaz=mysql_query($sql,$spojeni);  
		if (!$dotaz) die ('Dotaz na text nedošel');  
	$zaznam=mysql_fetch_array($dotaz);	
    $pocet=$zaznam["pocet"];
	
		if ($pocet > 0) echo '<h3>Tato zpráva je již uložena!<br>Zkuste napsat něco nového!</h3>';		
	else
		{
				
		mysql_query("SET NAMES 'utf8'");
		$dotaz = "INSERT INTO forum VALUES (NULL, '$datum', '$jmeno', '$text')";	
		$vysledek = mysql_query($dotaz,$spojeni);
			if (!$vysledek)
				die('Nepodařilo se vložit komentář!');
			else {
				echo '<h2>Komentář byl vložen</h2>';
				}
		}
	}
}

else {
	echo '<table id="forum">';
	}

$sql = "SELECT DATE_FORMAT(datum,'%e.%c.%Y') as datum, jmeno, text FROM forum ORDER BY id DESC LIMIT 10 ";
$dotaz = mysql_query($sql,$spojeni);
if (!$dotaz)
  die('Nepodařilo se načíst řádky z databáze.');

while($zaznam=mysql_fetch_array($dotaz))
{
$jmeno = stripslashes($zaznam["jmeno"]);
$text = stripslashes($zaznam["text"]);

	echo '<tr><th>'.$jmeno.'&nbsp;<span>'.$zaznam["datum"].'</span></th></tr>
	<tr><td>'.$text.'</td></tr>';
}

?>
  </table>

	<form action="index.php?str=diskuse" method="post">
		<input id="jmeno" type="text" name="jmeno" maxlength="25" value="Vaše jméno" onblur="if (this.value == '') {this.value = 'Vaše jméno';}"  onfocus="if (this.value == 'Vaše jméno') {this.value = '';}" ">
		<input id="email" type="text" name="email" maxlength="20" size="20">
		<textarea name="text" rows="8" cols="28"></textarea>
		<span>Ochrana proti spamu: dva krát tři =</span><input id="test" type="text" name="priklad" maxlength="2" size="2">
		<input id="submit" type="submit" value="Odeslat zprávu">
	</form>
panther
Profil
Manny:
vypiš si tam mysql_error().
Manny
Profil *
panther:
Column 'id' cannot be null

Proč by nemohl být nulový, když mám na sloupci auto incrementaci?
Radek9
Profil
Manny:
Protože null je taky hodnota (a null neznamená nula), to neznamená, že se to tam nezapíše. Musíš to id vynechat, takže nějak takto:
INSERT INTO `forum` (`datum`, `jmeno`, `text`) VALUES ('$datum', '$jmeno', '$text')
panther
Profil
Manny:
případně, bez vyjmenovávání sloupců takto
INSERT INTO `forum`VALUES ('', '$datum', '$jmeno', '$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: