2015-02-10 3 views
-1

Я создал два php-файла. Первым является encrypt.php, который отправляет текстовые поля в handleData.php. В настоящее время это просто сохраняет ввод в текстовый файл, но даже это не работает. Текстовый файл остается прежним, и сообщение, похоже, не передало никаких данных. Я также попытался явно отразить данные, но он остается пустым. Почему сообщение не отправляет какие-либо данные? Я сделал все правильно, насколько я могу видеть и назвать, но текстовые области, отказывается работать

encrypt.php

<form method="POST" action="handleData.php">                                 
    <p><textarea name="plaintext" placeholder="Enter text to encrypt" rows="10" cols="50"><?php echo exec("cat input.txt")?></textarea></p>          
    <p><textarea name="ciphertext" placeholder="Enter text to decrypt" rows="10" cols="50"><?php echo exec("cat output.txt")?></textarea></p>          
    <p><input type="submit" value="Encrypt/Decrypt" onClick="location.reload()"></p>                        
</form> 

handleData.php

<?php                                             
    $num = "3128342308234";                                       

    $plain = (isset($_POST['plaintext'])) ? htmlspecialchars($_POST['plaintext']) : 'test';                       
    $cipher = (isset($_POST['ciphertext'])) ? $_POST['ciphertext'] : '';                            
    echo $_POST['plaintext'];                                       
    exec("$plain >> input.txt");                                      
    $command = "encryptPoly ".$num." ".$plain;                                   
    exec("rm output.txt");                                        
    exec($command." >> output.txt");                                     
?> 
+0

Я пытался получить эту работу с помощью PHP, но я в конечном итоге с помощью веб-модуля Python, который был в состоянии сделать это намного легче. Спасибо за помощь. – zlittrell

ответ

0

вы перезагрузка страницы, поэтому не представляя,

<p><input type="submit" value="Encrypt/Decrypt" onClick="location.reload()"></p> 

просто удалить OnClick:

<p><input type="submit" value="Encrypt/Decrypt"></p> 

и убедитесь, что действие для этого имени совпадает с текущим.

<form method="POST" action="handleData.php"> 
+0

Проблема в том, что вы пытаетесь отправить данные на отдельную страницу при перезагрузке текущего файла, попробуйте удалить событие onclick. –

+0

Я использую отдельную страницу для обновления текстовых файлов, которые затем отображаются в исходных текстовых файлах с помощью php-кода «exec (« cat output.txt »). Может ли onClick заставить POST не отправлять? – zlittrell

+0

как я сказал в ответе «Вы перезагружаете страницу, поэтому не отправляете», добавляя свое собственное событие onClick, вы удаляете действие по умолчанию. –

0

Вы можете попробовать это:

<?php                                             
$num = "3128342308234";                                       

$plain = (isset($_POST['plaintext'])) ? htmlspecialchars($_POST['plaintext']) : 'test';                       
$cipher = (isset($_POST['ciphertext'])) ? $_POST['ciphertext'] : '';                            
echo $_POST['plaintext'];                                       
exec("$plain >> input.txt");                                      
$command = "encryptPoly ".$num." ".$plain;                                   
exec("rm output.txt");                                        
exec($command." >> output.txt");                                     
?> 

к:

<?php                                             
$num = "3128342308234";                                       

$plain = (isset($_POST['plaintext'])) ? htmlspecialchars($_POST['plaintext']) : 'test';                       
$cipher = (isset($_POST['ciphertext'])) ? $_POST['ciphertext'] : '';                            
echo $_POST['plaintext'];                                       
exec("$plain >> input.txt");                                      
$command = "encryptPoly ".$num." ".$plain;                                   
exec("rm output.txt");                                        
exec($command." >> output.txt"); 

header('Location: ' . $_SERVER['HTTP_REFERER']);// Go back to previous page. 

?> 
+0

Я пробовал это, и он ничего не сделал. Также удаление onClick просто заставило страницу не обновлять теперь POST все еще не работает – zlittrell

Смежные вопросы