Zdravim mam dalsi problem s PHP a nechcem zakladat dalsi topic tak pisem sem:
opisal som vsetko z knihy ale aj tak to nefunguje takze na problem urcite neprijdem sam.
pise mi: id chyba, cize chyba bude niekde medzi 32. a 52. riadkom (chyba je podla mna prestne na riadku 32. $id_vlozenia mi da vzdy 0
php kod:pridat_url.php
<?php
$titul_stranky = 'Pridat URL';
include ('./zahlavie.html');
require_once ('./mysql_spojit.php');
if (isset($_POST['odoslat'])) {
function opravit_chyby ($data) {
global $dbc;
if (ini_get('magic_quotes_gpc')) {
$data = stripslashes($data);
}
return mysql_real_escape_string (trim ($data), $dbc);
}
if (!empty($_POST['url'])) {
$ur = opravit_chyby($_POST['url']);
} else { $ur = FALSE; echo "Zadajte prosim adresu URL";}
if (!empty($_POST['nazov'])) {
$na = opravit_chyby($_POST['nazov']);
} else { $na = FALSE; echo "Zadajte prosim nazov";}
if (!empty($_POST['popis'])) {
$po = opravit_chyby($_POST['popis']);
} else { $po = '';}
if (($_POST['typ1'] > 0) OR ($_POST['typ2'] > 0) OR ($_POST['typ3'] > 0)) {
$ty = TRUE;
} else {$ty = FALSE; echo "Zadajte aspon 1 kategoriu";}
if ($ur && $na && $ty) {
$dotaz = "INSERT INTO nazvy_adries (url,nazov,popis) VALUES ('$ur', '$na', '$po')";
$vysledok = @mysql_query($dotaz);
$id_vlozenia = @mysql_insert_id();
if ($id_vlozenia > 0) {
$dotaz = 'INSERT INTO adresy_url (id_nazvu, id_typu, schvalene, datum_prijatia) VALUES (';
if ($_POST['typ1'] > 0) {
$dotaz .= "$id_vlozenia, {$_POST['typ1']}, 'A', NOW()), ";
}
if ($_POST['typ2'] > 0) {
$dotaz .= "$id_vlozenia, {$_POST['typ2']}, 'A', NOW()), ";
}
if ($_POST['typ3'] > 0) {
$dotaz .= "$id_vlozenia, {$_POST['typ3']}, 'A', NOW()), ";
}
$dotaz = substr($dotaz, 0, -2);
$vysledok = @mysql_query ($dotaz);
if ($vysledok) {
echo 'Dakujeme za vasu url';
$_POST = array();
} else { echo 'chyba';}
} else { echo "id chyba";}
} else { echo 'Zskuste to znova'; }
}
$dotaz = "SELECT * FROM typy_adries ORDER BY typ ASC";
$vysledok = @mysql_query($dotaz);
$zoznam = '<option>Vyberte typ</option>';
while ($row = mysql_fetch_array ($vysledok,MYSQL_ASSOC)) {
$zoznam .= "<option value=\"{$row['id_typu']}\">{$row['typ']}</option>\n";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset><legend>Vyplňte formulář (můžete vybrat až 3 kategorie):</legend>
<p><b>Adresa URL:</b> <input type="text" name="url" size="60" maxlength="60" value="<?php if (isset($_POST['url'])) echo $_POST['url']; ?>" /><br /><small>Neuvádějte počáteční identifikátor protokolu <i>http://</i></small></p>
<p><b>Název adresy:</b> <input type="text" name="nazov" size="60" maxlength="60" value="<?php if (isset($_POST['nazov'])) echo $_POST['nazov']; ?>" /></p>
<p><b>popis:</b> <textarea name="popis" cols="40" rows="5"><?php if (isset($_POST['popis'])) echo $_POST['popis']; ?></textarea></p>
<p><b>Kategorie 1:</b> <select name="typ1">
<?php echo $zoznam; ?>
</select></p>
<p><b>Kategorie 2:</b> <select name="typ2">
<?php echo $zoznam; ?>
</select></p>
<p><b>Kategorie 3:</b> <select name="typ3">
<?php echo $zoznam; ?>
</select></p>
</fieldset>
<div align="center"><input type="submit" name="odoslat" value="Odeslat" /></div>
</form>
<?php
mysql_close();
include ('./pata.html');
?>
moje SQL(ak pomoze):
Create TABLE prijate (
id_prijate int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
nazov_suboru VARCHAR(30) NOT NULL,
velkost_suboru INT(6) UNSIGNED NOT NULL,
typ_suboru VARCHAR(30) NOT NULL,
popis VARCHAR(100) DEFAULT NULL,
datum_prijatia DATETIME NOT NULL,
PRIMARY KEY (id_prijate),
KEY nazov_suboru (nazov_suboru));
CREATE TABLE nazvy_adries (
id_nazvu SMALLINT(4) UNSIGNED NOT NULL AUTO_INCREMENT,
url VARCHAR(60) NOT NULL,
nazov VARCHAR(60) NOT NULL,
popis TINYTEXT NOT NULL,
PRIMARY KEY (id_nazvu),
UNIQUE KEY url(url)
);
CREATE TABLE typy_adries (
id_typu TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
typ VARCHAR(20) NOT NULL,
PRIMARY KEY (id_typu),
UNIQUE KEY typ (typ)
);
CREATE TABLE adresy_url (
id_adresy SMALLINT(4) UNSIGNED NOT NULL AUTO_INCREMENT,
id_nazvu SMALLINT(4) UNSIGNED NOT NULL,
id_typu TINYINT(3) UNSIGNED NOT NULL,
schvalene CHAR(1) DEFAULT 'N',
datum_prijatia TIMESTAMP(14) NOT NULL,
PRIMARY KEY (id_adresy),
KEY id_nazvu (id_nazvu),
KEY id_typu (id_typu),
KEY datum_prijatia (datum_prijatia)
);
INSERT INTO typy_adries (typ) VALUES ('pocitac');
INSERT INTO typy_adries (typ) VALUES ('hry');
INSERT INTO typy_adries (typ) VALUES ('internet');
INSERT INTO typy_adries (typ) VALUES ('ostatne');
Dufam ze pomozete Dakujem za kazdu radu
//tak teraz som si vsimol ze mi tu URL do DB posle ale napise chyba. raz napise chyba raz napise id chyba ale vzdy posle to DB