php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.12.2011, 20:02  
Neuer Benutzer
 
Registriert seit: 13.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Andi1305 befindet sich auf einem aufstrebenden Ast
Standard Problem mit Abfrage

Hallo und guten Abend,

Ich habe ein Problem mit einer Abfrage ( Schleife ).
Zur Aufgabenstellung gibt es folgendes zu sagen:
Es ist ein Formular mit 3 Feldern, es sollen die Eingabefelder ( der Inhalt ) nach betätigen des Buttons Senden abgefragt werden und durch eine Schleife auf dem gleichem Bildschirmseite angezeigt werden, unter dem Senden Button.

Hier ist einmal der Code für das Formular:

<body>
<h1>Artikel</h1>
<!-- Formular für Artikel mit Preis und Zusammenfassung -->
<form action="" method="post">
<table>
<tr>
<td>Artikelnummer</td>
<td><input type="integer" name="strArtikelnummer"
id="strArtikelnummer"/><br /></td>
</tr>
<tr>
<td>Artikelname</td>
<td><input type="text" name="strArtikelname"
id="strArtikelname"/><br /></td>
</tr>
<tr>
<td>Preis</td>
<td><input type="double" name="strPreis"
id="strPreis"/><br /></td>
</tr><br /><br />
</table><br />



<input type="submit" name="Absenden" id="Absenden"
value="Absenden" />
<input type="reset" name="Leeren" id="Leeren"
value="Leeren" /> <br />
</form>

<?php
$strArtikel = array('Artikelnummer'=>'$strArtikelnummer','Artike lname'=>'$strArtikelname','Preis'=>'$strPreis');

foreach($strArtikel as $feldname => $inhalt){ $strAusgabe = $strAusgabe . "$strfeldname: $inhalt. <br />";
}
echo $strAusgabe;
?>

</body>


Ich habe es mit froreach, while schon Probiert, aber ich komme nicht zum Ziel, wie ich es gerne möchte. Könnt Ihr mir bitte ein wenig auf die Sprünge helfen, damit auch ich meinen Weg finde und nicht hier verzweifel, danke schön.

Ach ja, ich bin ein Neueinsteiger und habe wirklich keinen richtigen Plan, aber arbeite daran einmal gut zu werden, aber im Moment hängt es, leider.

Gruss Andi
Andi1305 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.12.2011, 20:54  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Also, auf deine Formularelemente kannst du mit $_GET[''], bzw. in deinem Fall mit $_POST['name'] zugreifen.
Ansonsten möchte ich dich bitten, deinen Code in PHP-Tags im Forum zu packen, da er dann wesentlich lesbarer ist.

PS: Also normalerweise geht das sowohl mit while als auch mit foreach.
ChrisvA ist offline   Mit Zitat antworten
Alt 14.12.2011, 21:27  
Neuer Benutzer
 
Registriert seit: 13.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Andi1305 befindet sich auf einem aufstrebenden Ast
Standard

Danke für die schnelle Hilfe
Ich bin sehr neu hier und werde deinen Rat gerne annehmen und das nächste mal den Code ordentlich reinstellen.
Morgen möchte ich es dann gleich mal probieren ob ich es hinbekomme und sage dann auch Bescheid.
vielen Dank noch einmal.

Gruss Andi
Andi1305 ist offline   Mit Zitat antworten
Alt 14.12.2011, 21:52  
Neuer Benutzer
 
Registriert seit: 05.11.2011
Beiträge: 22
PHP-Kenntnisse:
Fortgeschritten
Soundz befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php
$strArtikel 
= array('Artikelnummer'=>'$strArtikelnummer','Artike lname'=>'$strArtikelname','Preis'=>'$strPreis');

foreach(
$strArtikel as $feldname => $inhalt){ $strAusgabe $strAusgabe "$strfeldname: $inhalt. <br />";
}
echo 
$strAusgabe;
?>
Weil du einfache Anführungszeichen benutzt steht da am Ende wirklich $strArtikelnummer, benutze " oder gar keine Anführungszeichen dafür

$strAusgabe = $strAusgabe . "$strfeldname: $inhalt. <br />";

geht zwar so gehen, ist aber schlechter codestil, weil man in den manchen IDEs so nicht erkennen kann, dass du variablen in einem string benutzt. Willst du alles an deine strAusgabe "dran hängen", dann müsste das so aussehen

$strAusgabe .= ".$strfeldname.": ".$inhalt. "<br />";

So wie du es benutzt doppelt sich das immer also z.b.

PHP-Code:
$a $a+$b
in der nächsten Zeile wäre das dann
PHP-Code:
$a $a+($a+$b); 
in der nächsten dann

PHP-Code:
$a $a+($a+$b)+($a+$b); 
ich hoffe dich konnte dir dabei etwas helfen

ein kleiner zusatz:

PHP-Code:
$strArtikel = array('Artikelnummer'=>'$strArtikelnummer','Artike lname'=>'$strArtikelname','Preis'=>'$strPreis'
schreibe das bitte so:

PHP-Code:
$strArtikel = array('Artikelnummer'=> $strArtikelnummer 'Artikelname' => $strArtikelname'Preis' => $strPreis); 
Ein paar leerzeichen erhöhen die lesbarkeit ungemein.

was auch noch wichtig wäre, du hast deine variablen vorher nicht definiert.

wenn du da oben deine eingaben aus dem formular haben willst musst du die so "da rein stopfen"

PHP-Code:
$variable $_POST['Name des Inputfeldes'
oder du steckst sie gleich in dein array. Solltest du dein formular mit get wegschicken musst du statt $_POST $_GET verwenden.

Aber generell solltest du vor deinen php block noch eine abfrage machen ob es $_POST bzw. $_GET überhaupt gibt weil php sonst rummeckert " $_POST? kenn ich nicht, mach ich nicht"

in code sieht das so aus:

PHP-Code:

if (isset($_POST)) {


mach was

noch besser wäre sicherheitshalber gleich abzufragen ob im post überhaupt was drin steht und ob es den gibt also

PHP-Code:

if (isset($_POST) && trim($_POST['pflichtfeld'])) != '' 
Das isset fragt ab ob es überhaupt eine variable gibt die $_POST heißt, das && ist ein logisches und trim() macht leerzeichen am anfang und am ende eines strings weg, != heißt "nicht" und '' ist eben ein leerer string.

Auf deutsch würde das heißen:

PHP-Code:

Wenn es einen $_POST gibt UND $_POST
['pflichtfeld'kein leerer string ist nachdem die leerzeichen weg sinddann mach 
ich hoffe ich habe mich klar ausgedrückt, das geht manchmal leider etwas unter bei mir :/

Geändert von Soundz (14.12.2011 um 22:07 Uhr). Grund: zusatz
Soundz ist offline   Mit Zitat antworten
Alt 15.12.2011, 07:06  
Neuer Benutzer
 
Registriert seit: 13.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Andi1305 befindet sich auf einem aufstrebenden Ast
Standard Danke, Super

Guten Morgen,

Schönen dank für die vielen Tipps und das ich auch gleich sehen kann wie es geht, super, ich werde es dann heute Abend mal Probieren, bin im Moment in der Arbeit

bis dann und nochmals vielen Dank

Gruss Andi
Andi1305 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Abfrage - join, inner join, distinct? Gachet01 Datenbanken 2 27.01.2011 06:49
Problem mit SQL Abfrage Diamond GrafixX PHP Tipps 2009 13 29.08.2009 13:25
[Erledigt] Problem mit SELECT Abfrage BlackBroom Datenbanken 4 28.05.2009 14:13
Problem mit einer IF Abfrage! maclaim1988 PHP Tipps 2009 10 06.02.2009 17:33
Problem bei SQL Abfrage fdm Datenbanken 4 31.12.2008 15:01
MySQL Abfrage Problem mit Where parti02 Datenbanken 14 23.10.2008 14:52
[Erledigt] Syntax Problem bei (ODBC) MSAccess Abfrage Patrick H. Datenbanken 6 15.08.2008 09:50
[Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage tomtaz Datenbanken 5 24.06.2008 22:36
Abfrage Problem mastermix Datenbanken 2 06.08.2007 11:45
Problem mit abfrage und co PHP Tipps 2005 6 29.03.2005 16:38
Problem bei benutzername und passwort abfrage ? PHP Tipps 2005 4 15.03.2005 17:29
Abfrage Problem (vermute ich) PHP Tipps 2004-2 3 14.12.2004 22:21
Problem mit abfrage Datenbanken 8 05.12.2004 12:46
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
Problem mit SQL Abfrage Schiedsrichter Datenbanken 2 02.08.2004 07:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$_post[\'strartikelnummer\'] ;

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum