Problma con Get e Post, form PHP, Socket

di il
4 risposte

Problma con Get e Post, form PHP, Socket

Salve a tutti,
ho creato questo socket lato client e server solo che quando vado ad eseguire il mio elaborato in localhost (utilizzo xampp) mi da errore sulle righe del passaggio di dati da form php a variabile.
Ho provato ad usare sia il metodo post che il metodo get ma niente!!
Qualcuno può darmi una mano?!?

Questo è il socket lato client:

<?php
error_reporting(E_ALL);
echo "<h2>Connessione TCP/IP </h2>\n";
// Settaggio variabili client
$host = "127.0.0.1";
$port = 25003;
$message = "Ciao Server questo e' il messaggio ";

echo"<form method=post>";
echo "<input type=textarea name=base> Base<br>";
echo "<input type=textarea name=esponente> Esponente<br>";
echo "<input type=submit name=c2><br>";
echo "<input type=reset name=c3><br>";
echo"</form>";

$base= $_POST['base'];
$esponente= $_POST['esponente'];

$valori= array();
$valori[]=$base;
$valori[]=$esponente;
$valori2=implode("-", $valori);

echo "Ho inviato il messaggio al Server :".$valori2;
// crea socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Socket non creato\n");
// connettiti al server
$result = socket_connect($socket, $host, $port) or die("Impossibile connettersi al server\n");
// invia stringa al server
socket_write($socket, $base, strlen($valori2)) or die("Impossibile inviare i dati al server\n");
// restituisci risposta del server
$result_bis = socket_read ($socket, 1024) or die("Impossibile leggere la risposta del server\n");
echo "   ->Risposta del Server :".$result_bis;
//chiudi socket
socket_close($socket); 
?>
Questo invece è lato server:

<?php
error_reporting(E_ALL);
/* Si indica allo script di non uscire mentre attende una connessione */
set_time_limit(0);
/* Abilita lo scarico dell'output così si è in grado di vedere cosa passa
 * non appena arrivano i dati al server. */
ob_implicit_flush();

// settaggio variabili, il server ascolta sul proprio indirizzo ip  
$host = "127.0.0.1";
$port = 25003; //25003;
// setta timeout!
set_time_limit(2110);
// crea socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Creazione socket fallita\n");
// Lega il socket alla porta $port sul server $host 
$result = socket_bind($socket, $host, $port) or die("Fallito inizializzazione porta su socket\n");
// Inizio ascolto sulla connessione
$result = socket_listen($socket, 3) or die("Start ascolto socket fallito\n");
// Accetta Connessioni
// Attende l'arrivo di una connessione client
$spawn = socket_accept($socket) or die("Inizializzazione connessione con client fallita\n");
// Legge Client input
$input = socket_read($spawn, 1024) or die("Errore Non riesco a leggere l'input\n");
$input = trim($input);
echo "Messaggio del Cliente : ".$input;
echo "\n Invio la Conversione del Messaggio del Cliente \n";

$valori= array;
$valori=explode("-", $input);
$base=$valori[0];
$esponente=$valori[1];

if($esponente==0)
{
	$value=1;
}
	else if ($esponente=1)
	{
		$value=$base;
	}
	else
		{
			$base1=$base;
			for($ind=2; $ind<$input_1; $ind++)
			{
				$base=$base*$base1;	
			}
			$value=$base;
		}
$output =  $value;
socket_write($spawn, $output, strlen ($output)) or die("Errore di scrittura su output\n");
//Chiudi sockets
socket_close($spawn);
socket_close($socket);
 ?>
 
Grazie a chi può darmi una mano!!

4 Risposte

  • Re: Problma con Get e Post, form PHP, Socket

    Ciao!

    non è molto bello scrivere HTML attraverso PHP.
    ed infatti già qui c'è un errore:
    
    echo "<input type=textarea name=base> Base<br>";
    
    in html puro sarebbe così (due varianti):
    
    <input type="textarea" name="base"> Base<br>
    <input type='textarea' name='base'> Base<br>
    
    i valori degli attributi vanno tra apici singoli o doppi.
    tu non li hai messi nel tuo codice....
  • Re: Problma con Get e Post, form PHP, Socket

    Ciao @fermat
    Questi sono gli errori lato client

    Notice: Undefined index: base in C:\xampp\htdocs\cliente_2.php on line 16 (riga dove uso il metodo post per prendere la base)

    Notice: Undefined index: esponente in C:\xampp\htdocs\cliente_2.php on line 17 (riga dove uso il metodo post per prendere l'esponente)
    Ho inviato il messaggio al Server :-
    Fatal error: Uncaught Error: Call to undefined function socket_create() in C:\xampp\htdocs\cliente_2.php:26 Stack trace: #0 {main} thrown in C:\xampp\htdocs\cliente_2.php on line 26 (riga dove creo il socket, ed è lo stesso errore a lato server)

    E questo è l'errore che mi da lato server

    Fatal error: Uncaught Error: Call to undefined function socket_create() in C:\xampp\htdocs\server_2.php:15 Stack trace: #0 {main} thrown in C:\xampp\htdocs\server_2.php on line 15
  • Re: Problma con Get e Post, form PHP, Socket

    Hai corretto il form come ti ho detto????
  • Re: Problma con Get e Post, form PHP, Socket

    @fermat il problema non è sul form... semplicemente da errore sull'importazione dei dati delle taxtarea in variabili perchè all'inizio non c'è niente quindi non ha dati da passare, infatti una volta che inserisco i dati non mi appaiono più quegli errori ma il messaggio che ha inviato i dati al server (anche utilizzando il metodo che mi hai detto tu è la stessa cosa) rimane però l'errore che non crea il socket e io qua mi sto scervellando anche perchè non trovo niente che mi possa servire!!
Devi accedere o registrarti per scrivere nel forum
4 risposte