2017-02-16 1 views
3

Ich muss einige Daten von einer Seite in meiner Website an eine andere Seite senden. Ich denke, ich sollte ein HTML-Formular verwenden und dann das Aktionsattribut auf das Ziel setzen.senden Sie feste Daten mit einem Formular

Ich habe versucht, Eingabe-Tag zu div zu tauschen, aber es funktioniert nicht, wie ich dachte. auch ich möchte versteckte Eingabe nicht als die anderen Fragen in Stackoverflow beantwortet verwenden. weil ich denke, dass Benutzer Daten vom Browser ändern können und ich will das nicht.

ps. Entschuldigung für schlechtes Englisch jede Bearbeitung ist zu schätzen.

+1

Menschen können die Daten ändern, egal ob Sie eine versteckte Eingabe oder etwas anderes verwenden. Verlassen Sie sich nicht darauf, dass Benutzer die Daten nicht manipulieren. – doorstuck

+0

@doorstuck ja ich weiß. irgendeine Idee, was ist der beste Weg, das zu verhindern? –

+0

Vertrauen Sie nicht auf alles, was vom Benutzer kommt. Ich weiß nicht, was Sie versuchen zu lösen. Aber benutze nicht blind den Input des Users, da er böse sein kann. Ich kann nicht antworten, da ich nicht weiß, was Sie zu lösen versuchen. – doorstuck

Antwort

2

Sie könnten Ihre Form mit „Token“ sichern und die $_SESSION verwenden, um Ihre Daten außerhalb des Formulars übergeben:

<?php 

session_start(); 
$token = md5(uniqid(rand(), TRUE)); 
$_SESSION['token'] = $token; 
$_SESSION['secret_data'] = "Top secret data"; 

?> 

<form method="POST" action="/destination"> 
    <input type="hidden" name="token" value="<?php echo $token; ?>" /> 
    <input type="text" name="item-wear">FACTORY-NEW</input> 
    <button> type="submit">فروش</button> 
</form> 

Und dann prüfen nur, ob das Token mit der Sitzung übereinstimmt. Wenn ja, holen Sie die Daten, die Sie gespeichert haben, aus dem Array $_SESSION.

Ich hoffe, es hilft.

1

Sie können festen Wert wie diese geben ..

<form method="POST" action="/destination"> 
    <input type="text" name="item-wear" value="Enter your fixed value here"> 
    <input type="submit" value="فروش"> 
</form> 

Hoffnung das wird Ihnen helfen !!!

1

Hinzufügen „Nur-Lese“ attibute verhindern, dass Benutzer die Eingabe

<input type="text" name="item-wear" readonly>FACTORY-NEW</input> 

ändern oder können Sie wählen

<select> 
<option value="1">1</option> 
<option value="2">2</option> 
</select> 

verwenden, aber wie doorstuck sagt, müssen Sie nach wie vor auf der Rückseite dieser Daten zu überprüfen, -Ende.

Verwandte Themen