funzione javascript all'interno di un codice php

  • Creatore Discussione Creatore Discussione fabio97
  • Data di inizio Data di inizio
Ho messo apposto il codice ed è perfettamente funzionante il tutto con l'unica cosa che non fa il redirect e mi tocca tornare indietro "manualmente". Come mai?
 
per curiosità ho controllato il codice :

pagina p.php
PHP:
<?php
                if(isset($_POST['inviarisposta'])) {
                    //prendo testo e lo metto in db name = risposta
                    //ricarico pagina arearisposte
                    
                    $testo=$_POST["answertext"];
                    
                    //sistemare codice per risposta
                    
                    header("Location: http://localhost/p2.php?testo=".$testo);
                }
                
            ?>

<html>
<title>Area topic</title>
    </head>
    <body>
        <form action="p.php" name="topic" method="post">
            <p class="title"><b><u>Benvenuto nell'area risposte!</u></b></p>
        
            <p class="questiontext"><b>Risposta: </b></p>
            <textarea  name="answertext" id="answertext" cols="150" rows="27" style="margin-left: 30px">
            
            </textarea>
        
            <p class="answersubmit">
                <b>Invia risposta: <input type="submit" name="inviarisposta" value="INVIA"</b><br>
                <b>Annulla risposta: <input type="reset" name="annullarisposta" value="ANNULLA"</b>
            </p>
            
        </form>// non lo vedo giusto qui il form il php lo puoi scrivere fuori dal html
        
           
    </body>
</html>

p2.php

PHP:
<?PHP
echo($_GET['testo']);
?>

funziona e ti reinderizza.... sappimi dire ciao
 
Allora ho modificato il codice ed è funzionante solo che quando clicco su invia,non me lo invia ma esce:
"Impossibile aprire la pagina. Safari non può aprire "localhost:888/indice/topic.php" perchè OS X non riconosce gli indirizzi internet che cominciano con "localhost" ".
Il fatto è che fino a ieri andava!
Il codice di tale pagina è:
PHP:
<form action="localhost:8888/indice/topic.php" name="topic" method="post">
            <p class="title"><b><u>Benvenuto nell'area topic!</u></b></p>
            <p class="questiontitle"><b>Titolo domanda:</b> <input type="text" name="questiontitle" size="200"/></p>
        
            <p class="questiontext"><b>Testo: </b></p>
            <textarea  name="questiontext" id="questiontext" cols="150" rows="27" style="margin-left: 30px">
            
            </textarea>
        
            <p class="questionsubmit">
                <b>Invia domanda: <input type="submit" name="inviadomanda" value="INVIA"</b><br>
                <b>Annulla domanda: <input type="reset" name="annulladomanda" value="ANNULLA"</b>
            </p>
        </form>
            <?php
                if($_POST["inviadomanda"]) {
                    // prendo titolo e lo metto in sezione domande (nome-titolo-orario di apertura)
                    // prendo testo e lo metto dentro al link con titolo il link della domanda
                    $titolo=$_POST["questiontitle"];
                    $testo=$_POST["questiontext"];
                    //$nome=$_SESSION['username'];    prendo nome
                    $nome="provola";
                    
                    //ricevo data ed ora
                    $a=time();
                    $b=date('d m Y - G:i:s', $a);
                    
                    //connetto al database
                        $conn=mysql_connect('localhost', 'root', 'root') or die (mysql_error());
                        //seleziono database
			mysql_select_db('topic', $conn) or die (mysql_error());
                        
                        //inserisco la domanda nella tabella del database
                        mysql_query(" INSERT INTO topic(nome,titolo,testo,ora) VALUES('$nome','$titolo','$testo','$b') ") or die (mysql_error());
                                                
                        //aggiorno la pagina e porto in sezione domande
                        header("Location: http://localhost:8888/indice/sezionedomande.php");
                }
                
            ?>
 
bene bravo ci sei riuscito... mi fai il piacere di postarmi il codice della sezionedomande.php che sono curioso di vederlo
 
PHP:
<html>
<head>
	<title>Sezione domande</title>
	
	<style type="text/css">
	div.registrazione
	{
	border: 2px solid black;
	width: 1240px;
	height: 30px;
	padding: 5px;
	}
	div.mail
	{
	border: 2px solid black;
	width: 500px;
	height: 100px;
	padding: 5px;
	margin-left: 320px;
	margin-top: 0px;
	float: center;
	text-align: center;
	}
	div.domande
	{
	border: 2px solid black;
	width: 1240px;
	height: auto;
	padding: 5px;
	margin-top: 512px;
	position:relative;
	bottom:512px;
	}
	div.return
	{
	border: 2px solid black;
	width: 395px;
	height: 100px;
	padding: 5px;
	margin-left: 845px;
	text-align: center;
	position: absolute;
	top: 70px;
	}
	</style>
</head>
<body>
	<div class="registrazione">
		Sei nuovo? Allora
		<a href="http://localhost:8888/indice/registrazione.php">Registrati</a>
		Oppure
		<a href="http://localhost:8888/indice/paginalogin.php">Accedi</a>
	</div><br>	

	<div class="mail">
	<form method="post" action="mailto:***************o**[email protected]">
        Per informazioni inviami una mail<br>
	<input type="submit" value="Invia mail"/>
	</form>
	</div><br>

	<div class="domande">
		<p style="text-align: center"><b><u>Domande? Chiedi ogni cosa! <a href="http://localhost:8888/indice/topic.php">Clicca qui!</a></u></b></p>
		
		
		<?php
		
		$_GET['titolo'];
		
		//controllo se nel database sono presenti delle domande
		$conn=mysql_connect('localhost', 'root', 'root') or die (mysql_error());
		mysql_select_db('topic', $conn) or die (mysql_error());
		$controlloconta=mysql_query("SELECT * FROM topic ") or die (mysql_error());
		
		if($controlloconta>0){
		
			while($row=mysql_fetch_array($controlloconta)) 
			{
				echo "<b><br>Nome: </b>".$row[nome];
				echo "<b> Titolo: </b>"."<a href = 'http://localhost:8888/indice/arearispostetopic.php?titolo=$row[titolo]' title = '$row[titolo]'>".$row[titolo]."</a>";
				echo "<b> Data e ora: </b>".$row[ora];
			}
			
		}
		?>
	</div>
	
	<div class="return">
        Sei nella <br>Sezione domande<br><br>Per ritornare all'indice<br><a href="http://localhost:8888/indice/voto.php">Indice</a><br>  
	</div>

</body>
</html>
 
Scusate ma ho creato anche una sezione dedicata alla registrazione e quando l'utente si registra deve ricevere il link di attivazione. Il fatto è che il link non viene inviato, ma si visualizza una pagina in bianco senza neanche scritto "Errore, link di attivazione non inviato!". Perchè?
 
sei sicuro che il server che stai utilizzando ha il smtp attivo? Se si posta il codice ciao fammi sapere-
 
fai una prova del genere:
<?php
$destinatario = "tuouser@tuoservermail"; //->tua email
$oggetto = "email di test";
$messaggio = "test email riuscito";
mail($destinatario, $oggetto, $messaggio);
?>

carica su altervista una pagina con questo codice poi lo mandi in esecuzione e vedi se ti arriva l'email..
 
Ultima modifica:
se mi dici praticamente non sò cosa dirti o vedo il codice o provi quello che ti ho passato...
 
PHP:
<?php
session_start();
?>
<html>
<head>
    <title>Registrazione</title>
    <style type="text/css">
	div.votazione
	{
	border: 2px solid black;
	width: 300px;
	height: 100px;
	padding: 5px;
	float: left;
	}
	div.mail
	{
	border: 2px solid black;
	width: 500px;
	height: 100px;
	padding: 5px;
	margin-left: 320px;
	margin-top: 0px;
	float: center;
	text-align: center;
	}
	div.return
	{
	border: 2px solid black;
	width: 395px;
	height: 100px;
	padding: 5px;
	margin-left: 845px;
	text-align: center;
	position: absolute;
        top: 8px;
        left: 3px;
	}
        div.register
        {
        width: auto;
        height: auto;
        position: absolute;
        top: 150px;
        left: 460px;
        padding: 5px;
        }
	</style>
</head>
<body>
    <div class="votazione">
	<form  action="" method="post" name="inviavoto" id="inviavoto">
        Vota il sito:<br>
        1 <input type="radio" name="voto" value="1 "/>
        2 <input type="radio" name="voto" value="2 "/>
        3 <input type="radio" name="voto" value="3 "/>
        4 <input type="radio" name="voto" value="4 "/>
        5 <input type="radio" name="voto" value="5 "/>
	6 <input type="radio" name="voto" value="6 "/>
	7 <input type="radio" name="voto" value="7 "/>
        8 <input type="radio" name="voto" value="8 "/>
        9 <input type="radio" name="voto" value="9 "/>
        10 <input type="radio" name="voto" value="10 "/>
        <input type="submit" name="inviavoto" value="Invia il voto"/><br>
	Media voti: 
	<?php
	if($_POST['inviavoto']){
		
		//ricevo voto
		$voto=$_POST["voto"];
		
		//connetto al database
		$conn=mysql_connect('localhost', 'photovideomovie', '') or die (mysql_error());
		//seleziono la tabella voto nel database
		mysql_select_db('my_photovideomovie', $conn) or die (mysql_error());
		$sql=mysql_query("SELECT * FROM voto ORDER by id DESC LIMIT 1");
		$query=mysql_fetch_array($sql);
		if ($query) {
		    $id=$query['id'];
		    $somma=$query['somma'];
		    $somma+=$voto;
		    mysql_query("INSERT INTO voto(somma) VALUES('$somma') ") or die (mysql_error());
		    $sql=mysql_query("SELECT * FROM voto ORDER by id DESC LIMIT 1");
		    $query=mysql_fetch_array($sql);
		    if ($query) {
			$id=$query['id'];
			$somma=$query['somma'];
			$media=$somma/$id;
			mysql_query("UPDATE voto SET media='$media' WHERE id='$id'");
			$sql=mysql_query("SELECT * FROM voto ORDER by id DESC LIMIT 1");
			$query=mysql_fetch_array($sql);
			if ($query) {
			    echo $query['media'];
			} else {
			    echo"Errore! Voto non inviato!";
			}
		    } else {
			echo "Errore! Voto non inviato!";
		    }
		    
		} else {
		    echo "Errore! Voto non inviato!";
		}
	}
	?>
	</form>
	</div>

	<div class="mail">
	<form method="post" action="mailto:[email protected]">
        Per informazioni inviami una mail<br>
	<input type="submit" value="Invia mail"/>
	</form>
        
        <div class="return">
        Sei nella <br>Sezione registrazione<br><br>Per ritornare all'indice<br><a href="http://photovideomovie.altervista.org/php/NuovaCartella/sito/voto.php">Indice</a><br>  
	</div>
        
        <div class="register">     
        <?php
            //connetto al database e inizio la sessione
            include 'config.php';
            connect ();
            
            if(!isset($_GET['passkey'])){
                if (!isset($_POST['inviadati'])){ ?>
                    <form action="" method="post" name="registrazione">
                        <label for="username">Username</label>
                        <input type="text" name="username"/><br>
                        <label for="password">Password</label>
                        <input type="password" name="password"/><br>
                        <label for="password1">Ripeti password</label>
                        <input type="password" name="password1"/><br>
                        <label for="email">E-mail</label>
                        <input type="text" name="email"/><br>
                        <input type="submit" name="inviadati" value="Registrati"/>
                </form>
                <?php
                } else {
                    //creazione di un codice conferma
                    $codice_conferma=md5(uniqid(rand()));
                    
                    $username=mysql_real_escape_string($_POST['username']);
                    $password1=mysql_real_escape_string($_POST['password']);
                    $password2=mysql_real_escape_string($_POST['password1']);
                    $email=mysql_real_escape_string($_POST['email']);
                    
                    //controllo campi vuoti e password
                    if ($username == "" || $email == "" || $password1 == "" || $password2 == "") {
                        echo "Devi riempire tutti i campi";
                    } elseif ($password1 != $password2) {
                        echo "Le password devono coincidere";
                    } else {
                        $recuperauseremail=mysql_query("SELECT id FROM utenti WHERE username='$username' || email='$email'");
                        $contausermail=mysql_num_rows($recuperauseremail);
                        if ($contausermail > 0) {
                            echo "Nome utente o email già disponibili";                    
                        } else {
                            //invia dati alla tabella utenti_temp
                            $inviautentitemp=mysql_query("INSERT INTO utenti_temp(codiceconferma, username, password, email) VALUES('$codiceconferma', '$username', '$password2', '$email')");
                            if($inviautentitemp){
                            	$mittente = 'From: "Fabio Developer" <[email protected]> \r\n'; 
                                $to=$email;
                                $subject="Conferma la registrazione al sito .... ";
                                $message="Da: amministratore";
                                $message.="Ecco il tuo codice di attivazione \r\n";
                                $message.="Clicca sul link per confermare la registrazione\r\n";
                                $message.="http://photovideomovie.altervista.org/php/NuovaCartella/sito/registrazione.php?passkey=$codice_conferma";
                                
                               $sentmail=mail($to,$subject,$message,$mittente);
                               
                            if($sentmail){
                                echo "Per completare la registrazione controlla la tua casella di posta elettronica e clicca sul link di attivazione";
                            }else{
                                echo "Errore. Link di attivazione non inviato";
                            }
			}
		    }
		}
	    }
        } else{
                $_GET['passkey'];
                $passkey=$_GET['passkey'];
                $sqlrecuperauser="SELECT * FROM utenti_temp WHERE codiceconferma='$passkey'";
                $risultatouser=mysql_query($sqlrecuperauser);
                if($risultatouser){
                    $contauser=mysql_num_rows($risultatouser);
                    if($contauser==1){
                        $rows=mysql_fetch_array($risultatouser);
                        $username=$rows['username'];
                        $email=$rows['email'];
                        $password=$rows['password'];
                        
                        $passwordcript=md5($password);
                        
                        $sqlconfermauser=mysql_query("INSERT INTO utenti (username, passoword, email) VALUES('$username', '$passwordcript', '$email')");
                        
                        if($sqlconfermauser){
                            echo "Il tuo account è stato attivato con successo";
                            $sqleliminadati=mysql_query("DELETE * FROM utenti_temp WHERE codiceconferma='$passkey'");
                        } else{
                            echo "Errore!";
                        }
                    }
                }
            }
            ?>  
        </div>
</body>
</html>
 
Ho scritto su altervista il codice che mi ha detto di provare e funziona.. allora l'ho modificato aggiungendo una text box e mi dà il seguente errore:
Parse error: syntax error, unexpected ';' in /membri/photovideomovie/php/NuovaCartella/sito/mail.php on line 15
PHP:
<html>
<head>
<title>Email</title>
</head>
<body>
<form action="" method="post" name="inviola">
<label for="email">Email</label> 
<input type="text" name="mail" /> <br>
<input type="submit" name="invia"/>
</form>
</body>
</html>
<?php
if ($_POST["invia"] {
	$destinatario = $_POST["mail"]; 
	$oggetto = "email di test"; 
	$messaggio = "test email riuscito \r\n"; 
	$messaggio .= "bene";
	$sent=mail($destinatario, $oggetto, $messaggio); 
	
	if ($sent) 
		echo "Email inviata";
	else 
		echo "Errore!";
}
?>

Io non capisco dove sia l'errore..
 

Discussioni simili