03. august 2005 - 12:10Der er
68 kommentarer og 2 løsninger
PHP og MySQL rod
hej jeg har lavet et news script og det virker fint indtil jeg ville til at tjekke om folk skrev noget i felterne... :-( men nu kan jeg ikke få det til at virke
her kommer koden..:
include("config.php"); if (isset($_POST[upload])) { if ($_POST[title]=="" || $_POST[mane]=="" || $_POST[fil]=="" || $_POST[type]=="") echo "alle felter skal udfyldes";
} else {
$query = mysql_query("INSERT news SET title ='$_POST[title]' text ='$_POST[text]' name ='$_POST[mane]' file ='$_POST[fil]' type ='$_POST[type]' pdf ='$_POST[pdf]'") or print mysql_error(); } ?> <TR> <TD width="8" valign="top" align="left"> <img src="img/design/shadow_left_top.gif" width="8" height="117" border="0" alt=" " /> </td> <td class='leftbox' width='100%' valign="top"> <table width="100%" border="0" > <tr> <td width="100%" class="pageheader" colspan="2" valign="top" > <span class="overskrift">Administration</span> </td> </tr>
mane mangler i din form... Desuden: jeg ved ikke om din PHP installation, men normalt tror jeg at man skal skrive $_POST['upload'] og ikke $_POST[upload]
Hvad er det, der ikke virker? Fejlmeddeleser, beskrivelser venligst :)
Og ang. '' - så er det ikke nødvendigt som sådan, men det er absolut pænest. Når man arbejder med strenge, altså tekst, bør der være '' eller "" omkring, hvorimod med int (tal) skal der ikke...
include("config.php"); if (isset($_POST[upload])) { if ($_POST[title]=="" || $_POST[text]=="" || $_POST[fil]=="" || $_POST[type]=="") { echo "alle felter skal udfyldes"; } } else {
$query = mysql_query("INSERT news SET title = '$_POST[title]', text ='$_POST[text]', name ='$_POST[name]', file ='$_POST[file]', type ='$_POST[type]', pdf ='$_POST[pdf]'") or print mysql_error(); } ?>
if (isset($_POST[upload])) { if ($_POST[title]=="" || $_POST[mane]=="" || $_POST[fil]=="" || $_POST[type]=="") echo "alle felter skal udfyldes"; } else { $query = mysql_query("INSERT news SET title ='$_POST[title]' text ='$_POST[text]' name ='$_POST[mane]' file ='$_POST[fil]' type ='$_POST[type]' pdf ='$_POST[pdf]'") or print mysql_error(); }
Hvis du gerne vil have udført din INSERT, så skal der et NOT ind i din if-sætning:
if (! isset($_POST[upload])) { if ($_POST[title]=="" || $_POST[mane]=="" || $_POST[fil]=="" || $_POST[type]=="") echo "alle felter skal udfyldes"; } else { $query = mysql_query("INSERT news SET title ='$_POST[title]' text ='$_POST[text]' name ='$_POST[mane]' file ='$_POST[fil]' type ='$_POST[type]' pdf ='$_POST[pdf]'") or print mysql_error(); }
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'text ='' name ='' file ='' type ='news' pdf =''' at line 1
if (isset($_POST[upload])) { if (!(isset($_POST["title"]) && isset($_POST["mane"]) && isset($_POST["fil"]) & isset($_POST["type"])) echo "alle felter skal udfyldes"; else $query = mysql_query("INSERT news SET title ='$_POST[title]' text ='$_POST[text]' name ='$_POST[mane]' file ='$_POST[fil]' type ='$_POST[type]' pdf ='$_POST[pdf]'") or print mysql_error(); }
mysql_query("INSERT news SET title ='$_POST[title]', text ='$_POST[text]', name ='$_POST[mane]', file ='$_POST[fil]', type ='$_POST[type]', pdf ='$_POST[pdf]'") or print mysql_error();
$query = mysql_query("INSERT news VALUES title ='$_POST[title]', text ='$_POST[text]', name ='$_POST[mane]', file ='$_POST[fil]', type ='$_POST[type]', pdf ='$_POST[pdf]'") or print mysql_error();
<? include("config.php"); if (isset($_POST[upload])) { if (!(isset($_POST["title"]) && isset($_POST["name"]) && isset($_POST["file"]) & isset($_POST["type"])) echo "alle felter skal udfyldes"; else $query = mysql_query("INSERT news SET title ='$_POST[title]' text ='$_POST[text]' name ='$_POST[name]' file ='$_POST[file]' type ='$_POST[type]' pdf ='$_POST[pdf]'") or print mysql_error(); } ?>
det virker over hovedet ikke en skid..
Parse error: parse error, unexpected T_ECHO in /customers/plaq.dk/plaq.dk/httpd.www/inc/admin_rst.php on line 8
Så der var nogle små fejl, men derfor kan du jo god moderere sproger:
<? include("config.php"); if (isset($_POST[upload])) { if (!(isset($_POST["title"]) && isset($_POST["name"]) && isset($_POST["file"]) && isset($_POST["type"]))} echo "alle felter skal udfyldes"; else $query = mysql_query("INSERT news SET title ='$_POST[title]', text ='$_POST[text]', name ='$_POST[name]', file ='$_POST[file]', type ='$_POST[type]', pdf ='$_POST[pdf]'") or print mysql_error(); } ?>
Jeg er her skam stadig, men tror at hvis mig og Nielle snakker i munden på hinanden forvirrer vi mere end vi gavner. Er ikke i tvivl om at Nielle nok skal hjælpe, især hvis du lader ham :) !
okey ville bare lige høre om du hvade tid.... jeg skal have min side mere sikker det vil sige at jeg skal ha lavet sådan at man ikke bare kan hoppe ind på en side uden at være admin fx..
Så skal du have fat i en form for login. Hvis du allerede har et, så tilføj et felt i databasen der beskriver om vedkommende er admin eller ej - f.eks. ved binært 0 eller 1.
Så er fejlen sikkert på næst-sidste. Og PHP er nu ikke svært, men selvfølgelig kræver det, at man lige gennemskuer den syntaks der bliver brugt, rigtige antal af () og {} osv. osv.
<? include("config.php"); if (isset($_POST[upload])) { if (!(isset($_POST["title"]) && isset($_POST["text"]) && isset($_POST["file"]) && isset($_POST["type"]))) echo "alle felter skal udfyldes"; else $query = mysql_query("INSERT news SET title ='$_POST[title]', text ='$_POST[text]', name ='$_POST[name]', file ='$_POST[file]', type ='$_POST[type]', pdf ='$_POST[pdf]'") or print mysql_error(); } ?>
Ohh, denne havde jeg da vist glemt igen - men sådan skal det jo ikke være.
Tak for reminderen, Nielle :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.