2016-07-14 7 views
1

ich eine Form haben, die dynamisch erstellt wirdWie Werte von Formular abzuschicken

<form action="addtable.php" method="post" enctype="multipart/form-data" > 
    <?php 
    $sql="SELECT * FROM `tracker_item` "; 
    $result = mysqli_query($con, $sql); 
    if(mysqli_num_rows($result)>0) 
     { 
      while($row = mysqli_fetch_assoc($result)) 
       { ?> 
        <input type="text" placeholder="<? echo $row['heading']?>" name="<? echo $row['heading']?>" /> 

       <?}?> 
       <button type="submit" name="add" alt="Add" value="Add" class="btn blue">Add</button> 
</form> 

aber ia nicht in der Lage zu verstehen, wie den Wert des Eingangs Kann mir jemand auf die addtable.php Seite

tragen bitte sagen, wie diese Werte aus dieser Form

+0

wieder abrufen Sie Ihren PHP-Code in '' Tags –

+0

@Shrikant Mavlankar schreiben sollten wurde leider ein Fehler binden, aktualisiert meinen Beitrag – jazz

+1

Warum Sie fügen Submit-Button innerhalb 'While'-Schleife hinzu, sollte es einen Submit-Button für ein Formular geben –

Antwort

0

In Ihrer addtable.php müssen Sie print_r $ _POST und sehen, welche Eingaben Sie erhalten.

// addtable.php 

echo "<pre>"; 
print_r($_POST); 
print_r($_FILES); // If you're expecting a file input 

Außerdem sollten Sie Ihre HTML ein wenig ändern:

<form action="addtable.php" method="post" enctype="multipart/form-data" > 
<?php 
$sql="SELECT * FROM `tracker_item` "; 
$result = mysqli_query($con, $sql); 
if(mysqli_num_rows($result)>0) { 
     while($row = mysqli_fetch_assoc($result)) { ?> 
      <input type="text" placeholder="<? echo $row['heading']?>" name="<? echo $row['heading']?>" /> 
     <? } ?> 
    <button type="submit" name="add" alt="Add" value="Add" class="btn blue">Add</button>  <!--Place submit button outside loop --> 
<?php } ?> 

0

In Ihrem addtable.php einreichen:

<?php 

$inputValue = $_POST['input_name']; 

//the $inputValue is the input value that you posted from form. 
echo $inputValue; 


?> 
+0

Es wird kein Wert angezeigt – jazz

+0

Ich bearbeitet die Antwort überprüfen Sie es jetzt. –

0

dies versuchen, addtable.php

<?php 
     foreach ($_POST as $key => $value){ 
     echo "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>"; 
     } 
    ?> 

Ich hoffe, es wird hilfreich sein.

0

Einer der Gründe, warum Ihr PHP nicht richtig funktioniert, ist, dass Ihr PHP-Block nicht in PHP-Tags platziert ist.

Ihr Code sollte wie folgt aussehen:

<form action="addtable.php" method="post" enctype="multipart/form-data" > 
<?php // added the PHP tags 
    $sql="SELECT * FROM `tracker_item` "; 
    $result = mysqli_query($con, $sql); 
    if(mysqli_num_rows($result) > 0){ 
     while($row = mysqli_fetch_assoc($result)){ 
?> // escaped the php tag 
      <input type="text" placeholder="<?= $row['heading']; ?>" name="<?= $row['heading']; ?>" /> 
      <button type="submit" name="add" alt="Add" value="Add" class="btn blue">Add</button> 
<?php 
     } 
    } 
?> 

Beachten Sie, wie ich auch PHP entkommen, wenn ich eine HTML angezeigt werden wollte. Natürlich könntest du das einfach aussprechen, aber du kannst das auch! Persönliche Vorliebe, wirklich.

Eine andere kleine Änderung, die ich gemacht habe, war, anstatt <?php echo ... ?> zu verwenden, können Sie <?= $row['...']; ?> einfach verwenden. Es ist schneller und auch sauberer!

+1

Knopf in While-Schleife? – Dave

+1

@DhavalDave das ist, was er will, also das, was ich ihm gab .. –

0

Sie können Array der Position erstellen und den Zugang in php:

<form action="addtable.php" method="post" enctype="multipart/form-data" > 
    <?php 
     $sql="SELECT * FROM `tracker_item` "; 
     $result = mysqli_query($con, $sql); 
     if(mysqli_num_rows($result)>0) 
     { 
      while($row = mysqli_fetch_assoc($result)) 
      { 
    ?> 
      <input type="text" placeholder="<?php echo $row['heading']; ?>" name="heading[]"> /> 
    <? 
      } 
    ?> 
      <button type="submit" name="add" alt="Add" value="Add" class="btn blue">Add</button> 
    <?php 
     } 
    ?> 
</form> 

In addtable.php:

$headingArray = $_POST['heading']; // here you will get all the heading in array format 
0

Ich denke, es Ausgabe in Submit-Button ist, Looping Sie Schaltfläche mit der gleichen einreichen Name, versuch, Submit-Button außerhalb der While-Schleife zu setzen.

0

Um Daten in addtable.php zu erhalten, müssen Sie sie nach Name Eigenschaft von Eingaben im Formular erhalten. So haben Sie die Namen der Eingänge definieren oder sie von db in addtable.php

+0

Das OP scheint ein neuer Programmierer im Bereich PHP zu sein. Es wäre also eine gute Idee, ihm ein Beispiel zu geben (Codeblock)! –

+0

Verwandte Themen