2017-02-17 4 views
-3

Ich bin mir nicht sicher, wie es richtig zu erklären, oder was zu suchen, tut mir leid, wenn dies ein Duplikat ist.PHP So verwenden Sie eine erweiterte URL als POST-Daten

Ich habe eine Seite www.site.com/profile, die das Profil von verschiedenen Personen anzeigen wird. Auf dieser Seite befindet sich ein form mit einem select und einem . Die select hat eine Dropdown-Liste von Personen zur Auswahl, und wenn die submit button geklickt wird, wird die Seite mit den ausgewählten Personen Details neu geladen. Die Informationen werden über POST gesendet.

Ich möchte gehen zu www.site.com/profile/Barry%20Crouch, die die www.site.com/profile Seite mit Barry Crouch als die POST-Daten laden wird. Also, welcher Name auch immer nach dem letzten Schrägstrich kommt, wird als Name des ausgewählten Spielers verwendet.

Ich möchte das, damit ich jemanden mit der Seite verknüpfen kann und die Details der Person habe, die ich versuche, sie angezeigt zu zeigen. Natürlich, wenn der Name nicht in der Liste ist, werden keine Details angezeigt, und ich verwende PDO vorbereitete Anweisungen, um SQL-Injektionen zu verhindern.

+0

was ist das Problem dann? Wir schreiben den Code für Sie hier nicht. Geben Sie den Code ein, den Sie ausprobiert haben, und zeigen Sie die Fehler an. Und fügen Sie weitere Details zu der Frage hinzu, was passieren sollte, wenn ein Benutzer den/Barry% 20Croch in/Gareth% 20Bale ändert? Ist es POSTed und verarbeitet? Was ist dann der Sinn von POST? Verwenden Sie stattdessen GET – JapanGuy

Antwort

-1

Wenn Sie wählen Make-Werte zu den Optionen schreiben:

<form method="post" action="page you want to handle form data"> 
//action could also be action="<?php echo $_SERVER['PHP_SELF']; ?>" for same page 
<select name='select'> 
<option value="Berry Crouch">Berry Crouch</option> 
//other options 
</select> 
<input type="submit" value="Submit"> 
</form> 

verwenden jetzt php

<?PHP 
if(isset($_POST['select']) && $_POST['select'] !== "") 
{ 
    //your code to check database for the name 
    //you can redirect to profile/$_POST['select'] or check database for name or w/e 
} 
else 
{ 
    //nothing was selected or selection was blank 
} 
?> 

Persönlich würde ich es nie tun auf diese Weise. Alle sollten Sie eine Datei Verwenden Sie Ihre PHP-EX zu analysieren:

profiles/profile.php?name= // den Namen Verwenden Sie hier und Sie können dann Database Basierend ändern Auf $_GET['Name']; Auf Ihrer Datenbank

http://php.net/manual/en/reserved.variables.get.php

POST VS GET

What is the difference between POST and GET?

Verwandte Themen