europt 0 Posted July 26, 2007 Report Share Posted July 26, 2007 Boas pessoal, eu tenho um problema com um script que estou a traduzir e a aperfeiçoar! Quando tento adicionar um ficheiro, dá-me o seguinte erro: Parse error: syntax error, unexpected T_CATCH, expecting T_STRING in C:\xampp\htdocs\filecabinet\admin\add_file.php on line 5 E A Aqui vai o ficheiro add_file.php <?php session_start(); include ("check.php"); function catch($pvar) { $x = stripslashes($_POST[$pvar]); $x = str_replace("'",''',$x); $x = str_replace("\"",'"',$x); return $x; } $name = catch(name); $cat = catch(category); $author = catch(author); $version = catch(version); $short = catch(short_description); $long = catch(long_description); $screen = catch(screenshot); $file = catch(download); if (!$name) { echo "<html><head><script>alert('You did not enter a name!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } if (!$cat) { echo "<html><head><script>alert('You did not select a category!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } if (!$author) { echo "<html><head><script>alert('You did not enter an author!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } if (!$short) { echo "<html><head><script>alert('You did not enter a short description!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } if (!$long) { echo "<html><head><script>alert('You did not enter a long description!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } if (!$file) { echo "<html><head><script>alert('You did not enter a file download URL!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } if ($file == "http://") { echo "<html><head><script>alert('You did not enter a file download URL!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } if (!$version) { $version = "Not Available"; } if (!$screen) { $screen = "na"; } if ($screen == "http://") { $screen = "na"; } $date = date("d/m/y"); include ("../db.php"); $sql_name_check = mysql_query("SELECT name FROM downloads WHERE name='$name'") or die (mysql_error()); $name_check = mysql_num_rows($sql_name_check); if ($name_check == 1) { echo "<html><head><script>alert('File name is already in use!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } else { mysql_query("INSERT INTO downloads (cat, name, author, version, short_description, long_description, url_screenshot, url_download, date) VALUES('$cat', '$name', '$author', '$version', '$short', '$long', '$screen', '$file', '$date')") or die (mysql_error()); echo "<script>alert('File $name added!')</script>"; include ("addfile.php"); } ?> Preciso de Ajuda urgentemente! Obrigado desde Já! Cumprimentos Link to post Share on other sites
jreis 0 Posted July 26, 2007 Report Share Posted July 26, 2007 "catch" é uma palavra reservada em PHP5. Usa outro nome para a função, deve resolver. "Pensa positivo: tudo pode piorar" Link to post Share on other sites
europt 0 Posted July 27, 2007 Author Report Share Posted July 27, 2007 Obrigado, resolveu o problemA! Cumprimentos Link to post Share on other sites
europt 0 Posted July 27, 2007 Author Report Share Posted July 27, 2007 Tenho mais uma Duvida, ja estive a ver o codigo, mas isto vai mecher com mysql, e como eu nao pesco muito de PHP + MySQL, gostava que me dessem aqui uma ajudinha..... eu tenho o ficheiro addfile.php, que é simplesmente um formulário: <?php session_start(); include ("check.php"); ?> <html> <head> <title>BadBlue</title> <link rel="stylesheet" type="text/css" href="../style.css"> </head> <body> <b>Adicionar Categoria</b> <br><form name="adcat" action="add_cat.php" method="post"> Nome: <input type="text" name="name" size="30" maxlength="50"> <br><br> Descrição: <input type="text" name="descricao" size="30" maxlength="150"> <br><br> <input type="submit" value="Adicionar Categoria"> </form> </body> </html> e depois tenho o ficheiro que este form trabalha, e o que faz realmente a função de adicionar um categoria... <?php session_start(); include ("check.php"); include ("../db.php"); $name = $_POST['name']; $name = stripslashes($name); $des = $_POST['description']; $des = stripslashes($des); if (!$name) { echo "<html><head><script>alert('You did not enter a category name!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } if (!$des) { echo "<html><head><script>alert('You did not enter a category description!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } $sql_cat_check = mysql_query("SELECT name FROM categories WHERE name='$name'") or die (mysql_error()); $cat_check = mysql_num_rows($sql_cat_check); if ($cat_check == 1) { echo "<html><head><script>alert('Category name is already in use!')</script></head><body onload=javascript:history.go(-1)> </body></html>"; exit(); } else { $sql = mysql_query("INSERT INTO categories (name, description) VALUES('$name', '$des')"); echo "<script>alert('Category $name added!')</script>"; include ("addcat.php"); } mysql_close(); ?> A questão é: Este pequeno script apenas adiciona CATEGORIAS, e eu queria saber, se é possível fazer uma Alteração para que crie tambem SUB-CATEGORIAS! Desde Já Obrigado! Espero Resposta Cumprimentos Link to post Share on other sites
djthyrax 9 Posted July 27, 2007 Report Share Posted July 27, 2007 Tudo o que tens deste género: $name = $_POST['name']; $name = stripslashes($name); Deveria ser: $name = mysql_real_string_escape($_POST['name']); Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to post Share on other sites
europt 0 Posted July 27, 2007 Author Report Share Posted July 27, 2007 hummm...eu testei isso, mas nao deu resultado...quer dizer resultado ate tem, é pena é ser um erro... Cumprimentos Link to post Share on other sites
Bjecas 0 Posted July 27, 2007 Report Share Posted July 27, 2007 A questão é: Este pequeno script apenas adiciona CATEGORIAS, e eu queria saber, se é possível fazer uma Alteração para que crie tambem SUB-CATEGORIAS! É, podes por exemplo criar uma nova tabela na BD com as subcategorias e alterar o script para trabalhar com ela também. Nada como ler tutoriais e a documentação do PHP e MySQL, e se procurares neste fórum vais encontrar também recomendações de livros que te podem ajudar a "pescar mais do assunto". hummm...eu testei isso, mas nao deu resultado...quer dizer resultado ate tem, é pena é ser um erro... Toda a gente se engana, o que o djthyrax quis dizer é: $name = mysql_real_escape_string($_POST['name']); Link to post Share on other sites
europt 0 Posted July 27, 2007 Author Report Share Posted July 27, 2007 Thanks Bjecas, vou investigar, aliás já comprei o livro Learning PHP e MYSQL do Michele Davis e Jon Phillips! Mas ele ainda nao chegou! Cumprimentos! Link to post Share on other sites
djthyrax 9 Posted July 27, 2007 Report Share Posted July 27, 2007 Boa compra europt. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to post Share on other sites
europt 0 Posted July 27, 2007 Author Report Share Posted July 27, 2007 acham que valeu a pena comprar? Cumprimentos OFFTOPIC: djthyrax, tu nao tás inscrito no somxl? Link to post Share on other sites
djthyrax 9 Posted July 27, 2007 Report Share Posted July 27, 2007 OFFTOPIC: djthyrax, tu nao tás inscrito no somxl? NOOXML? Tou. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now