• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

softklin

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

10 mensagens neste tópico

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

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

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Reparei que no switch tens

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

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

EDIT:

Tenta colocar o switch assim:

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Reparei que no switch tens

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

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

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'?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Continua a não dar... vou tentar então reformular isso para ifs, e digo qq coisa amanhã. Obrigado a todos.  :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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  :-[ :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora