Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

$_Post liefert NULL

Empfohlene Antworten

Veröffentlicht

Hi,

ich arbeite gerade an einem kleinen Script, mit dem ich CDs in die DB eintragen kann. Per PHP generiere ich eine, derzeit noch fixe, anzahl von Textareas mit dem Namen a0, a1, a2 - Die zahl wird durch die variable $a eingefügt.

In einer zweiten Datei werden die Inserts durchgeführt, ich greife dabei mit $_POST auf die Textareas der anderen Datei zu. Die 1 im Insert ist die UserID welche eingetragen wird, die anderen beiden Felder bleiben leer, aber wieso?

Hier der Quellcode:


//ERSTE DATEI
//Generieren der Textareas und Eingeben der Werte
//DB CONNECT
<form method="POST" action="insert_cd.php">
<?
$a = 0;
for($i = 0 ; $i<30 ; $i++)
{
echo"<input type=\"textarea\" name=\"a$a\" size=\"55\">";
$a = $a + 1;
echo" <input type=\"textarea\" name=\"a$a\" size=\"55\"><br>";
$a = $a + 1;
}
?>
<input type="submit" value=" GO ">
</form>

------------------

//ZWEITE DATEI
//insert ausführen
//DB CONNECT
<?
$sql = "insert into cd values ('1', '"
.$_GET['a0']
."','"
.$_GET['a1']
."');";
mysql_query($sql);
?>
[/PHP]

Verschoben -> Webserverprogrammierung

warum nimmst du kein array dafür?

dann kannste jede textarea z.b. "a[]" nennen.

ist dann auf der nächsten seite nach dem submit in dem array $_POST["a"] alles drinn


//ERSTE DATEI
//Generieren der Textareas und Eingeben der Werte
//DB CONNECT
<form method="POST" action="insert_cd.php">
<?
$a = 0;
for($i = 0 ; $i<30 ; $i++)
{
echo"<input type=\"textarea\" name=\"a$a\" size=\"55\">";
$a = $a + 1;
echo" <input type=\"textarea\" name=\"a$a\" size=\"55\"><br>";
$a = $a + 1;
}
?>
<input type="submit" value=" GO ">
</form>

------------------

//ZWEITE DATEI
//insert ausführen
//DB CONNECT
<?
$sql = "insert into cd values ('1', '"
.$_POST['a0'] // hier unten anstatt $_GET['a0'] => $_POST['a0']
."','"
.$_POST['a1'] // hier unten anstatt $_GET['a1'] => $_POST['a1']
."');";
mysql_query($sql);
?>
[/PHP]

Werd ich testen wenn ich daheim bin.

aber mal noch ne frage dazu:

Ich hab noch nicht all zu viel mit array in php zu tun gehabt, aber ich nehm jetzt einfach mal an, dass $_POST[a] auf das erste Element des Array zugreift, $_POST[a+1] aufs zweite, $_POST[a+2] aufs dritte usw.

So wie in C/C++, oder!?

nee, IMHO kannste das so machen:

$a = $_POST["a"];
echo $a[0];
echo $a[1];
...[/PHP]

Werd ich testen wenn ich daheim bin.

aber mal noch ne frage dazu:

Ich hab noch nicht all zu viel mit array in php zu tun gehabt, aber ich nehm jetzt einfach mal an, dass $_POST[a] auf das erste Element des Array zugreift, $_POST[a+1] aufs zweite, $_POST[a+2] aufs dritte usw.

So wie in C/C++, oder!?

oder einfach alle in einer schleife durchgehen:


// entweder mit for:
for ( $i = 0; $i < count($_POST["a"]; $i++) {
echo "Schlüssel:". $i . "Wert:" . $_POSt["a"][ $i] . "<br>\n";
}


// oder mit foreach:
foreach ( $_POST["a"} as $key => $value) {
echo "Schlüssel:" . $key . ", Wert:". $value ."<br>\n";
}
[/PHP]

die for-Schleife geht nur bei numerischen schlüsseln, während die foreachschleife bei allen arten von schlüsseln funktioniert

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.