SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 14.05.2007, 20:13:50
grobile grobile ist offline
Anfänger
 
Registriert seit: May 2007
Beiträge: 1
Dynamisch erzeugtes Formular auswerten

Hallo,

bin ein PHP Anfänger und bräuchte Hilfe.

Folgendes Problem:
Also ich habe eine html Seite mit einem Textfeld, Submit und Reset Botton erstellt. Hier soll der User zunächste eine Zahl eingeben, um zu sagen wie viele Felder im nächsten Formular erzeugt werden sollen. Das funktioniert auch. Gibt man z.B. eine 5 eine, werden 5 Textfelder erzeugt.

Jetzt möchte ich dieses neue formular erneut mit PHP auswerten, aber ich habe keine Ahnung wie ich auf die Felder zugreifen kann, weil ich ja bei $_POST[] was in die Klammern schreiben muß, aber natürlich nicht wissen kann, wie viele Textfelder der user letztendlich brauchte.

Hier das erste Formular:

<form action=http:ios_l2-vlan.php method="post">
<table>
<tr>
<td><input type="text" size="Länge" maxlength="MaxLänge" name="vcount"></td>
</tr>
</table>
<p><input type="submit" name="Name" value="Submit">
<input type="reset" name="Name" value="Reset">


</form>


Hier nun das php Script, mit dem das dynamische Formular erzeugt wird:

<?php
echo "<form action=http:ios_l2-vlan1.php method='post'>";
for ($i=1; $i<=$_POST['vcount']; $i++) {
echo "<p> Nr. $i <input type='text' size='Länge' maxlength='MaxLänge' name='$i'>";
}
echo "</form>"
?>
<p><input type="submit" name="Name" value="Submit">
<input type="reset" name="Name" value="Reset">

Jetzt hätte ich gerne, das ich jedes der erzeugten Formularfelder per Echo ausgeben könnte.

Wie kann ich das Umsetzen?

Schon mal Danke !!!

Gruß
Markus
Mit Zitat antworten
  #2  
Alt 14.05.2007, 21:08:08
ronsn ronsn ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 19
AW: Dynamisch erzeugtes Formular auswerten

Vielleicht so in etwa?
Wenn du weißt, wie viele Felder das Script erzeugen soll, dann kannst du diesen Wert im nächsten Formular als verstecktes Feld weiter geben.
Beim erzeugen der neuen Felder gibst du den Namen des Textfeldes mit der gerade aktuellen Laufnummer von $i in der Schleife.
Nachdem der User die neu erzeugten Felder ausgefüllt hat (oder auch nicht), kannst du diese mittels Praefix des Namens und dessen Laufnummer ausgeben lassen.
Ich hab da mal n bisschen was dran gemacht, jedoch musst du selbst wissen, ob du noch Sicherheitsabfragen einbaust ect., denn ich weiß ja nicht was du damit vorhast.
// Post Scriptum:
Die Reset-Button würde ich weglassen, da sie irgendwie sinnfrei sind. Außerdem kommen die User manchmal aus Versehen darauf und ärgern sich grün und rot, weil alle bisherigen Eingaben jetzt verschwunden sind.
PHP-Code:
<?php echo('<?xml version="1.0" encoding="iso-8859-1"?>'."\n"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
</head>

<body>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<input type="hidden" name="sent" value="1" />
<table>
<tr>
<td><input type="text" size="Länge" maxlength="MaxLänge" name="vcount" /></td>
</tr>
<tr>
<td><input type="submit" name="Name" value="Submit" /></td>
<td><input type="reset" name="Name" value="Reset" /></td>
</tr>
</table>
</form>

<?php
if(isset($_POST['sent'])) {
    if(
$_POST['sent'] == 1) {
        
$submit true;
    } else {
        
$submit false;
    }
} else {
    
$submit false;
}

if(isset(
$_POST['sent2'])) {
    if(
$_POST['sent2'] == 1) {
        
$submit2 true;
    } else {
        
$submit2 false;
    }
} else {
    
$submit2 false;
}


if(
$submit === true) {
    echo 
"<form action='".$_SERVER['PHP_SELF']."' method='post'>\n";
    echo(
'<input type="hidden" name="sent2" value="1" />'."\n");
    echo(
'<input type="hidden" name="vcount" value="'.$_POST['vcount'].'" />'."\n");
    echo(
'<table>'."\n");
    for (
$i=1$i <= $_POST['vcount']; $i++) {
        echo 
"<tr><td> Nr. ".$i." <input type='text' size='Länge' maxlength='MaxLänge' name='field_".$i."' /></td></tr>\n";
    }
    echo(
'<tr><td>'."\n");
    echo(
'<input type="submit" name="Name" value="Submit" />'."\n");
    echo(
'<input type="reset" name="Name" value="Reset" />'."\n");
    echo(
'</td></tr>'."\n");
    echo(
'</table>'."\n");
    echo(
'</form>'."\n");
}

if(
$submit2 === true) {
    echo(
'<table>'."\n");
    for (
$i=1$i <= $_POST['vcount']; $i++) {
        echo 
"<tr><td> Nr. ".$i.": ".$_POST['field_'.$i.'']." </td></tr>\n";
    }
    echo(
'<tr><td>'."\n");
    echo(
'</td></tr>'."\n");
    echo(
'</table>'."\n");
}
?>
<p>
    <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" />
  </p>
</body>
</html>
__________________
PHP-Code:
<?="HILFE"; ?>
HINWEIS: Wenn ich einen Beitrag schreibe, passiert es sehr häufig, dass ich kurz danach noch Änderungen vornehme um die Qualität zu sichern. Ihr solltet, falls ihr auf diesen Beitrag angewiesen seid, öfter mal aktualisieren, wenn ich den Beitrag gerade erst geschrieben habe.

Geändert von ronsn (14.05.2007 um 21:18:22 Uhr)
Mit Zitat antworten
  #3  
Alt 15.05.2007, 12:48:12
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: Dynamisch erzeugtes Formular auswerten

Alternativ kannst du den Namen der Inputs einfach leere eckige Klammern hinten anstellen, dann hast nach dem Absenden ein Array mit den Values der Inputs...

<input name="textfeld[]" type="text" ... >
<input name="textfeld[]" type="text" ... >
<input name="textfeld[]" type="text" ... >
usw...

-> nach dem Absenden

$_POST["textfeld"][0]
$_POST["textfeld"][1]
$_POST["textfeld"][2]
usw...

So brauchst du auch kein Hidden-Input, das die Anzahl der Textfelder überträgt, weil du die Anzahl über count($_POST["textfeld"]) bestimmen kannst.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
dynamisches Formular auswerten klein PHP für Fortgeschrittene und Experten 4 08.02.2005 20:17:56
Formular dynamisch füllen JPSelter HTML, CSS und JavaScript Help! 3 16.07.2004 21:56:17
dynamisch erstellte Checkboxes auswerten stefan.k PHP Entwicklung und Softwaredesign 7 19.11.2003 19:55:37
Formular dynamisch erstellen shewolf PHP Grundlagen 1 12.11.2003 11:20:40
Formular auswerten BeneBaur PHP für Fortgeschrittene und Experten 25 27.03.2003 21:33:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:14:24 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt