Jump to content

[PHP] Confusão com Ifs, switch... :S


softklin
 Share

Recommended Posts

Talvez o titulo não seja o mais explicito, mas vou colocar o código integral da minha página (peço desculpa se for exageradamente grande)...

<?php
$link = $_POST['link'];
$des = $_POST['des'];
$user = $_POST['user'];
$pass = $_POST['pass'];

switch($user){
case "":
	break;
case != "":
	$ligax = mysqli_connect('localhost',$user,$pass,'softclean_redirsys');

	if (!$ligax && $user != ""){
		echo '<font color=\"#FF0000\">Acesso negado!</font><hr>';
		exit;
	}

	$insere = "insert into destinations values ('0','".$link."','".$des."')";
	$result = mysqli_query($ligax,$insere);

	$procura = "Select * from destinations where link = '%" .$link "%'";
	$resultqualreg = mysqli_query($ligax,$procura);

	$registo = mysqli_fetch_assoc($resultqualreg);

	if (!result){
		echo "<font color=\"#FF0000\">Problema com a BD!</font><hr>";
	} else {
		echo "<font color=\"#00882D\">Adicionado com sucesso!</font><br>";
		echo "O seu link é o " .$registo['link'];	
	}
	break;
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Adicionar links</title>
</head>

<body>
<br />Preenche e autentica para adicionar um novo link:<br />
<form action="inputlink.php" method="post">
Link: 
  <input name="link" type="text" value="http://" maxlength="500" />
<br />
Descrição: <input name="des" type="text" maxlength="500" /><br />
<br />
Login<br />
user: <input name="user" type="password"  /><br />
pass: <input name="pass" type="password"  /><br /><br />
<input type="submit" disabled="disabled" value="Autenticar e enviar dados" />
</form>
</body>
</html>

O código está todo numa só página, e preferia que assim fosse...

Eu gostava que ao entrar nesta página, se fosse a primeira vez, a pessoa entrava e apenas via o formulário, sem correr o código do PHP (ou seja, se a variavel, por exemplo, user tiver vazia...), e quando fosse o submit para a própria página, então sim, corria o código e armazenava os elementos do formulário, e no final ser-me-ia dito se deu ou não, e caso me desse, qual o número de registo associado...

Podiam-me ajudar neste código sff?

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

<?php

if (isset($_POST['submit'])){
$link = $_POST['link'];
$des = $_POST['des'];
$user = $_POST['user'];
$pass = $_POST['pass'];

switch($user){
case "":
	break;
case != "":
	$ligax = mysqli_connect('localhost',$user,$pass,'softclean_redirsys');

	if (!$ligax && $user != ""){
		echo '<font color=\"#FF0000\">Acesso negado!</font><hr>';
		exit;
	}

	$insere = "insert into destinations values ('0','".$link."','".$des."')";
	$result = mysqli_query($ligax,$insere);

	$procura = "Select * from destinations where link = '%" .$link "%'";
	$resultqualreg = mysqli_query($ligax,$procura);

	$registo = mysqli_fetch_assoc($resultqualreg);

	if (!result){
		echo "<font color=\"#FF0000\">Problema com a BD!</font><hr>";
	} else {
		echo "<font color=\"#00882D\">Adicionado com sucesso!</font><br>";
		echo "O seu link é o " .$registo['link'];	
	}
	break;
}
}
else
{
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
<title>Adicionar links</title>
</head>

<body>
<br />Preenche e autentica para adicionar um novo link:<br />
<form action=\"inputlink.php\" method=\"post\">
Link: 
  <input name=\"link\" type=\"text\" value=\"http://\" maxlength=\"500\" />
<br />
Descrição: <input name=\"des\" type=\"text\" maxlength=\"500\" /><br />
<br />
Login<br />
user: <input name=\"user\" type=\"password\"  /><br />
pass: <input name=\"pass\" type=\"password\"  /><br /><br />
<input type=\"submit\" disabled=\"disabled\" value=\"Autenticar e enviar dados\" />
</form>
</body>
</html>";
}
?>

tenta assim

Proud LEIC-A@IST student!

Link to comment
Share on other sites

@ Karva: Não deu... continua-m uma página vazia...  👍

vou experimentar tirar a parte de código gerado, doctype e resto disso, e já digo qq coisa....

EDIT: Continua a não dar... ;)

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Reparei que no switch tens

switch($user){
case "":
	break;
case != "":
...

É possivel utilizar-se  case != "":  ?  ?

EDIT:

Tenta colocar o switch assim:

switch($user){
case "":
	break;
case $user != "":
...
Link to comment
Share on other sites

Reparei que no switch tens

switch($user){
case "":
	break;
case != "":
...

É possivel utilizar-se case != "": ? ?

EDIT:

Tenta colocar o switch assim:

switch($user){
case "":
	break;
case $user != "":
...

realmente...

pelo menos não conheço nenhuma linguagem que o permita... mas por que razão estás a usar um 'switch' e não um 'if'?

Link to comment
Share on other sites

mas ele diz q nao aparece nada, e no codigo que eu pus, ele so devia executar o resto do ficheiro php depois de preencher o form

karva só à primeira vista no teu código faltava logo um ; no fim da string :)

talvez fosse disso.

Cumps :P

Daniel Correia

Link to comment
Share on other sites

Que loooooooooooooooooooool  :wallbash:

Reformulei só para ifs, mas mesmo assim não dava...

Mas calma, reparem só nesta linha:

$procura = "Select * from destinations where link = '%" .$link"%'";

Falta o ponto em .$link.  :wallbash:

Desculpem lá isto, e obrigado  ? 👍

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.