Autor Zpráva
MartyMart
Profil *
Mám script, kterým vkladám do databaze emaily pro odběr novinek. Chtěl bych,aby po odeslání se mě přímo v inputu textarea objevil vysledek vlozeni tj. úspěšně vloženo nebo nikoliv. Jak to mohu tam dostat?

script je tady:
<form method="post" id="sub" action="<?php echo $_SERVER["PHP_SELF"]; ?>" >
<input type="text" class="sub" value="Vložte váš e-mail" name="email" />
<input class="sub-but" type="submit" value="" />
</form>
<?
$email = $_POST['email'];

$sql = "insert into odbernovinky (email) values ('$email')";
$result = mysql_query($sql) or die(mysql_error());

if ( !empty($email))
{
echo "Úspěšně vloženo";
}
else {
echo "";

}
?>

}

Děkuji
slovakCZ
Profil
netestoval jsem to... zkus si to jestli to je OK

<?php
	if(isset($_POST['email'])){
		$email = trim(mysql_real_escape_string($_POST['email']));
		/* je email prazdny? */
		if($email==""){
			$message = array("status" => "error", "message" => "vyplnte email.");
		}else{
			$sql = "insert into odbernovinky (email) values ('$email')";
			$result = mysql_query($sql) or die(mysql_error());
			$message = array("status" => "ok", "message" => "uspesne vlozeno.");
		}
	}
	
	/* vypiseme hlasku podle stavu.. bud je stav OK nebo je stav ERROR, je to trosku obecnejsi, takze muzes pouzit i pro jine vypisy hlasek na strance */
	if($message){
		$arr_keys = array_keys($message);
		$arr_values = array_values($message);
		$arr_size = count($arr_keys);
		for ($i = 0; $i < $arr_size; $i++){
			if($arr_keys[$i]=="status" AND $arr_values[$i]=="ok"){ echo '<p class="success">'.$arr_values[$i+1].'</p>'; }
			if($arr_keys[$i]=="status" AND $arr_values[$i]=="error"){ echo '<p class="error">'.$arr_values[$i+1].'</p>'; }
		}
	}
	
	/* vypiseme formular */
	echo '
		<form method="post" id="sub" action="'.$_SERVER["PHP_SELF"].'" > 
			<input type="text" class="sub" value="Vložte váš e-mail" name="email" /> 
			<input class="sub-but" type="submit" value="" /> 
		</form> 
	';
?>
slovakCZ
Profil
ted to ctu znova a jsem ospaly :) nejak jsem se precetl... ty chces ten vysledek zobrazit v "inputu textarea"? takhle, input a textarea jsou 2 rozlisne elementy.. bud vysledek chces zobrazit v inputu nebo chces vysledek zobrazit v textarea (coz mi prijde ten nejmensi problem)... takze vypis stavu odeslani by tedy vypadal takto:
    if($message){
        $arr_keys = array_keys($message);
        $arr_values = array_values($message);
        $arr_size = count($arr_keys);
        for ($i = 0; $i < $arr_size; $i++){
            if($arr_keys[$i]=="status" AND $arr_values[$i]=="ok"){ echo '<textarea>'.$arr_values[$i+1].'</textarea>'; }
            if($arr_keys[$i]=="status" AND $arr_values[$i]=="error"){ echo '<textarea>'.$arr_values[$i+1].'</textarea>'; }
        }
    }

pripadne:
    if($message){
        $arr_keys = array_keys($message);
        $arr_values = array_values($message);
        $arr_size = count($arr_keys);
        for ($i = 0; $i < $arr_size; $i++){
            if($arr_keys[$i]=="status" AND $arr_values[$i]=="ok"){ echo '<input value="'.$arr_values[$i+1].'" />'; }
            if($arr_keys[$i]=="status" AND $arr_values[$i]=="error"){ echo '<input value="'.$arr_values[$i+1].'" />'; }
        }
    }


no a kdyby si to chtel v tom formulari co tam mas, tak do input name=email udelas neco takoveho:
    
/* vypiseme formular */
    echo '
        <form method="post" id="sub" action="'.$_SERVER["PHP_SELF"].'" > 
            <input type="text" class="sub" value="';
if($message){
        $arr_keys = array_keys($message);
        $arr_values = array_values($message);
        $arr_size = count($arr_keys);
        for ($i = 0; $i < $arr_size; $i++){
            if($arr_keys[$i]=="status" AND $arr_values[$i]=="ok"){ echo ''.$arr_values[$i+1].''; }
            if($arr_keys[$i]=="status" AND $arr_values[$i]=="error"){ echo ''.$arr_values[$i+1].''; }
        }
    }else{ echo 'vlozte vas email'; }
echo '" name="email" /> 
            <input class="sub-but" type="submit" value="" /> 
        </form> 
    ';
MartyMart
Profil *
Pardon chci výsledek v input type text. Mám tam vlozte vas mail a po odeslani bych chtel aby se vypsalo Vas mail byl odeslan.
slovakCZ
Profil
je to hooodne zjednodusene.. ale asi by to tak byt mohlo.. jeste nejake osetreni jestli jde vubec o email a jestli neni email prazdny atd atd.. ale to si dopln sam ;)

<? 
if(isset($_POST['email'])){
	$email = $_POST['email']; 
	$sql = "insert into odbernovinky (email) values ('$email')"; 
	$result = mysql_query($sql) or die(mysql_error()); 
	if ( !empty($email)){
		$ok = "Úspěšně vloženo"; 
	}
}
?>

<form method="post" id="sub" action="<?php echo $_SERVER["PHP_SELF"]; ?>" > 
<input type="text" class="sub" value="<?php if($ok){echo $ok;}else{echo 'Vložte váš e-mail';} ?>" name="email" /> 
<input class="sub-but" type="submit" value="" /> 
</form> 


a dobrou noc :) jdu spat
MartyMart
Profil *
Děkuji moc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0