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 ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken 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
Hilfe Community Kalender Heutige Beiträge Suchen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 29.09.2005, 17:56:39
Afrika Afrika ist offline
Junior Member
 
Registriert seit: Feb 2005
Beiträge: 181
$_POST daten fehlen

Ich habe ein Bestellformular, welches die Daten so bekommt:
PHP-Code:
 foreach($user_cart->items as $key => $row) {
        print 
'<input type="hidden" name="Schriftzug  " value= " ' $key '">';
        print 
'<input type="hidden" name="Menge " value= "'  $row['qty'] . '">';
        print 
'<input type="hidden" name="Schriftart " value= "'  $row['product'] . '">';
        print 
'<input type="hidden" name="Farbe " value= "'  $row['color'] . '">';
        print 
'<input type="hidden" name="Fett " value= "'  $row['fett'] . '">';
        print 
'<input type="hidden" name="Kursiv " value= "'  $row['kursiv'] . '">';
        print 
'<input type="hidden" name="Gesamtlaenge " value= "'  $row['laenge'] . '">'
Nun hatte ich es per mailto versendet, wo auch bei mehreren Artikeln im Korb diese untereinander standen.
Nun will ich es aber anders lösen, aber wenn ich
echo '<pre>';
print_r($_POST);
echo '</pre>';
abrufe, dann zeigt es nur den letzten Artikel an. Wieso ist das so?
Kann ich das anders lösen?
Mit Zitat antworten
  #2  
Alt 29.09.2005, 18:35:32
Benutzerbild von Matt
Matt Matt ist offline
Member
 
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
AW: $_POST daten fehlen

Nunja, die lösung ist einfach: Es zeigt nur den letzten an, weil du für jedes objekt in deinem einkaufswagen die werte in die selbe variable speicherst - du überschreibst die werte also ständig. der letzte wert, der den vorigen überschrieben hat ist der, der am ende bleibt.

Eine simple lösung wäre beispielsweise, die werte so anzugeben:

Code:
print '<input type="hidden" name="Schriftzug[]" value= " ' . $key . '">';
dann werden alle werte für Schriftzug in einem array gespeichert...


Alternativ könntest du in deiner schleife auch noch eine Variable hochzählen:
PHP-Code:
$i=0;
foreach(
$user_cart->items as $key => $row) {

        print 
'<input type="hidden" name="Schriftzug'.$i.'" value= " ' $key '">';
   
# und so weiter... 
$i++;

Bedenke aber, dass Bestellformulare und Shopsysteme mit realem geld zu tun haben und es eine menge bösartiger Menschen im Internet gibt, die nur auf ein schlecht programmiertes Shopsystem warten, um sich zu bereichern, oder 20.000 Mountainbikes auf kosten eines anderen Benutzers zu bestellen.
Mal ganz ehrlich: Würdest du bei Amazon kaufen, wenn du wüsstest, dass das System von einem Praktikanten (oder jemand anderem mit wenig ahnung) programmiert wurde?

Ich will dich jetzt nicht falsch einschätzen, aber das war ein ziemliches anfängerproblem - und auch wenn du sonst perfekt programmieren kannst - webprogrammierung ist etwas anders - vor allem was den sicherheitsaspekt betrifft! (Vergiss vor allem nicht die moralische Anforderung an einen Händler gegenüber seiner Kunden, die erwarten, dass sie mit absoluter sicherheit und vertraulichkeit rechnen können)
Mit Zitat antworten
  #3  
Alt 29.09.2005, 18:36:58
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
AW: $_POST daten fehlen

Die zwei rettenden Zeichen sind sicher [ und ]

Zeig mal das Formular und etwas mehr Code.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #4  
Alt 29.09.2005, 20:03:15
Afrika Afrika ist offline
Junior Member
 
Registriert seit: Feb 2005
Beiträge: 181
AW: $_POST daten fehlen

Die ganze Form:
PHP-Code:
  print '<form action="mailto:test@test.de" method="post" enctype="text/plain">';



    foreach(
$user_cart->items as $key => $row) {
        print 
'<input type="hidden" name="Schriftzug  " value= " ' $key '">';
        print 
'<input type="hidden" name="Menge " value= "'  $row['qty'] . '">';
        print 
'<input type="hidden" name="Schriftart " value= "'  $row['product'] . '">';
        print 
'<input type="hidden" name="Farbe " value= "'  $row['color'] . '">';
        print 
'<input type="hidden" name="Fett " value= "'  $row['fett'] . '">';
        print 
'<input type="hidden" name="Kursiv " value= "'  $row['kursiv'] . '">';
        print 
'<input type="hidden" name="Gesamtlaenge " value= "'  $row['laenge'] . '">';

    }
print 
'<tr><td>
<input type="radio" name="Spiegelverkehrt" value="nein" checked>Normal<br>
<input type="radio" name="Spiegelverkehrt" value="Ja">innen<br></td></tr>

<tr><td>&nbsp;</td></tr>
<tr><td><font face="VERDANA,ARIAL,HELVETICA"><h5>Bitte senden an:</h5></font></td></tr>
<tr><td><font face="VERDANA,ARIAL,HELVETICA">Nachname:</font></td><td><input name="Nachname"></td></tr>
<tr><td><font face="VERDANA,ARIAL,HELVETICA">Vorname:</font></td><td><input name="Vorname"></td></tr>
<tr><td><font face="VERDANA,ARIAL,HELVETICA">Forum Nick:</font></td><td><input name="Nickname"></td></tr>
<tr><td><font face="VERDANA,ARIAL,HELVETICA">Strasse:</font></td><td><input name="Strasse"></td></tr>
<tr><td><font face="VERDANA,ARIAL,HELVETICA">PLZ:</font></td><td><input name="PLZ"></td></tr>
<tr><td><font face="VERDANA,ARIAL,HELVETICA">ORT:</font></td><td><input name="Ort"></td></tr>
<tr><td><font face="VERDANA,ARIAL,HELVETICA">LAND:</font></td><td><input name="Land"></td></tr>
<tr><td><font face="VERDANA,ARIAL,HELVETICA">Versand:</font></td><td>
<select name="Versand">
<option value="Post 2 EUR" checked>Deutschland 2 EUR</option>
<option value="Post 2 EUR" >Europa 3,50 EUR</option>
<option value="Post 2 EUR" >Welt 5,00 EUR</option>
<option value="Abholung">Hole ich ab</option>
<option value="Sammelbestellung">Sammelbestellung**</option>

</select>
</td></tr><tr><td><font face="VERDANA,ARIAL,HELVETICA">Sammelcode</font></td><td><input name="Sammelcode"><br>
** Nur bei Sammelbestellung<br>(Den Code anfragen)</td></tr>
                <tr><td><INPUT type="submit" value="Absenden">
                </tr></table>'

Bei der Lösung:
PHP-Code:
 print '<form action="bezahl.php" method="post">'
und in der bezahl.php ist drin:
PHP-Code:
  <?php
echo '<pre>';
print_r($_POST);
echo 
'</pre>';

?>
Dann kommt nur de letzte Artikel.
Bei mailto kommen alle.

@Matt
Das Sicherheitsproblem ist mir bekannt, allerdings ist das für ein Forum, und deswegen ist betrug eigentlich ausgeschlossen. Aber THX für Deine Besorgnis
Mit Zitat antworten
  #5  
Alt 29.09.2005, 20:05:51
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
AW: $_POST daten fehlen

Was sollen denn diese Leerzeichen bei den Feldnamen (name="Schriftzug ")?

Ändere diese mal so ab: name="Schriftzug[]" und dann schau Dir $_POST nochmal an.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #6  
Alt 30.09.2005, 10:33:46
Afrika Afrika ist offline
Junior Member
 
Registriert seit: Feb 2005
Beiträge: 181
AW: $_POST daten fehlen

Das sieht schon gut aus.
PHP-Code:
 Array
(
    [
Schriftzug] => Array
        (
            [
0] =>  test1
            
[1] =>  test2
        
)

    [
Menge] => Array
        (
            [
0] => 1
            
[1] => 1
        

.
.

Kann ich die Ausgabe der Bestellungen denn nun irgendwie formatieren?
also das ich einen zusammenhängenden text bekomme?
Also so in der Art:
Schriftzug1 test1 Menge 1 ...
Schriftzug2 test2 Menge1 ...
Mit Zitat antworten
  #7  
Alt 30.09.2005, 11:41:08
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: $_POST daten fehlen

Einfach die Arrays mit foreach durchlaufen:
PHP-Code:
<?php
    
foreach($_POST['Menge'] as $key => $data) {
        
printf('Schriftzug%d %s Menge %d'$key 1$_POST['Schriftzug'][$key], $_POST['Menge'][$key]);
    }
?>
Mit Zitat antworten
  #8  
Alt 30.09.2005, 12:34:01
Afrika Afrika ist offline
Junior Member
 
Registriert seit: Feb 2005
Beiträge: 181
AW: $_POST daten fehlen

Das klappt.
Wenn ich aber alle Daten haben möchte:
PHP-Code:
      foreach($_POST['Menge'] as $key => $data) {
            
printf('Schriftzug%d %s Menge %d %s Schriftart %d
            %s Farbe %d %s Kursiv %d %s Gesamtlaenge %d %s Spiegelverkehrt %d'
,
            
$key 1$_POST['Schriftzug'][$key], $_POST['Menge'][$key], $_POST['Schriftart'][$key],
            
$_POST['Farbe'][$key], $_POST['Kursiv'][$key], $_POST['Gesamtlaenge'][$key],
            
$_POST['Spiegelverkehrt'][$key]);
    } 
Dann kommt das hier:
Warning: printf(): Too few arguments in /srv/www/htdocs/.....
Mit Zitat antworten
  #9  
Alt 30.09.2005, 13:06:57
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: $_POST daten fehlen

Du definierst mit %d und %s mehr Platzhalter als du letztendlich an Argumenten übergibst. Warum bentutzt du zum Beispiel d bei Farbe und Schriftart?
Mit Zitat antworten
  #10  
Alt 30.09.2005, 13:46:10
Afrika Afrika ist offline
Junior Member
 
Registriert seit: Feb 2005
Beiträge: 181
AW: $_POST daten fehlen

Kann ich da denn beliebige Platzhalter nehmen, oder wie definiere ich das?
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
e-mail-Absender und teilw. Daten fehlen bei Formularübermittlung, bitte um Hilfe unwissend PHP Grundlagen 3 14.12.2004 12:23:31
Daten von PHP an PHP übergeben! OlliT PHP für Fortgeschrittene und Experten 4 02.11.2004 10:16:55
Wie gebe ich Daten formatiert aus. Blue7 MySQLi/PDO/(MySQL) 6 24.02.2004 00:26:38
Daten aus 2 mysql-tabellen ausgeben xnay PHP Grundlagen 1 13.12.2003 17:33:43
Rückschreiben von Daten in einer Datenbank Twolf PHP für Fortgeschrittene und Experten 2 13.03.2002 19:16:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:15:59 Uhr.


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


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