php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.05.2008, 12:59  
Neuer Benutzer
 
Registriert seit: 12.05.2008
Beiträge: 21
PHP-Kenntnisse:
Fortgeschritten
cuep befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Formular ausgabe Array

Hallo an alle,

Habe folgendes Problem.
Habe ein Formular gebastelt was erst an eine Seite geschickt wird wo der Benutzer noch mal seine Eingaben überprüfen, und dann auf absenden klicken kann. Ich bekomme zwar eine E-Mail wenn ich auf Senden klicke allerdings ohne Daten. Stattdesen steht da nur "Array" drinne.
Habe schon mal was mit implode() versucht.

Code auszug:

Code:
$message = array();
 
 $message .= $_POST['name'];
 $message .= $_POST['vorname'];
 
mail($emailAdresse,$emailBetreff,$message,$absender);
Also mein Anliegen ist eigentlich nur, das die daten die ich per "POST" verschicken will auch wirklich bei mir ankommen.
verschiedenen Themen die ich hier durchgelesen habe, trafen leider nicht auf mein Problem zu.
Wenn ich ein Formular bastel was direkt verschickt wird ohne das die Daten nochmals auf einer andere Seite zu kontrolle ausgeben werde, funktioniert es.
Aber vieleicht hat ja einer ne Idee warum ich eine Ausgabe " Array " bekomme.
Danke im Voraus

Gruss

Cuep

Geändert von cuep (25.05.2008 um 13:24 Uhr).
cuep ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.05.2008, 14:36  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Weil Du $message als Array deklarierst.
Stell error_reporting auf E_ALL und lies die auftretende Fehler Notice.

Wenn alles funktioniert, setze Dich bitte mit dem Problem der Email Header Injection auseinander.
nikosch ist offline  
Alt 25.05.2008, 15:00  
Erfahrener Benutzer
 
Benutzerbild von Hu5eL
 
Registriert seit: 26.02.2008
Beiträge: 342
Hu5eL befindet sich auf einem aufstrebenden Ast
Hu5eL eine Nachricht über ICQ schicken
Standard

PHP-Code:
$message ""
sollte das heißen, da funktioponiert der erste fehler wenigstens..
Hu5eL ist offline  
Alt 25.05.2008, 15:18  
Neuer Benutzer
 
Registriert seit: 12.05.2008
Beiträge: 21
PHP-Kenntnisse:
Fortgeschritten
cuep befindet sich auf einem aufstrebenden Ast
Standard Danke

Danke Hu5eL für die schnelle und hilfreiche Antwort.
Leider war es das noch nicht ganz. Jetzt kommt zwar kein "Array" mehr als Ausgabe, aber zeitgleich auch überhaupt keine Ausgabe der Daten.

Naja werde mal bisschen weiter im I-Net suchen mal sehen was ich finde.
Trotzdem Danke.

Geändert von cuep (25.05.2008 um 23:03 Uhr).
cuep ist offline  
Alt 25.05.2008, 16:04  
Erfahrener Benutzer
 
Benutzerbild von Hu5eL
 
Registriert seit: 26.02.2008
Beiträge: 342
Hu5eL befindet sich auf einem aufstrebenden Ast
Hu5eL eine Nachricht über ICQ schicken
Standard

was passiert wenn du vor
mail(...)
dir mal den inhalt von $message ausgeben lässt?
Hu5eL ist offline  
Alt 25.05.2008, 22:05  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Vermutlich hast Du method="POST" im Form vergessen. Obwohl, wenn vorher ne Mail verschickt wurde, kanns das eigentlich nicht sein. Wie gesagt, vermutlich, denn ohne unseren Kaffesatz sind wir wohl auf einiger Code-Postings Deinerseits angewiesen.

Zitat:
Jetzt kommt zwar kein "Array" mehr als Ausgabe, aber zeitgleich auch überhaupt keine Ausgabe der Daten.
Ich hoffe, das war nur schlecht formuliert. mail erzeugt nämlich keine Ausgabe.
Zitat:
Naja werde mal bisschen weiter im I-Net suchen mal sehen was finde.
Trotzdem Danke.
Du gibst ja schnell auf. In jedem Forum kann Dir nur auf Grund der übermittelten Antworten geantwortet werden.

Geändert von nikosch (25.05.2008 um 22:08 Uhr).
nikosch ist offline  
Alt 25.05.2008, 23:01  
Neuer Benutzer
 
Registriert seit: 12.05.2008
Beiträge: 21
PHP-Kenntnisse:
Fortgeschritten
cuep befindet sich auf einem aufstrebenden Ast
Standard

@ Hu5eL das habe ich noch nicht ausprobiert werde ich aber morgen mal machen und bescheid sagen.
Eigentlich ne gute Idee was man eigentlich auch mal gelernt hat sich ab und zu mal was ausgeben zu lassen.

Nein das war nicht falsch formuliert, weil in der E-Mail als Text nur Array ausgegeben wurde.
Ich? schnell aufgeben? Nein nein. Wenn ich wo dran bin dann Stunde und mehr.
Kann die Codes + Erläuterung gerne Posten kein prob.

Datei 1 formular.php
Code:
 <form method="post" action="auswertung.php">
 
Herr       <input type="radio" name="titel" value="Herr" /> &nbsp;
Frau       <input type="radio" name="titel" value="Frau" /><br /><br />
Name:*<br />    <input type="text" name="name"  /><br /> 
Vorname:*<br />    <input type="text" name="vorname" /><br />
Strasse / Hausnummer: <br /><input type="text" name="strasse" /> &nbsp; <input type="text" name="hausnummer" maxlength="3"/><br />
Ort / Plz: <br />   <input type="text" name="ort" /> &nbsp; <input type="text" name="plz" maxlength="5" /><br />
E-Mail:* <br />    <input type="text" name="e-mail" /><br />
Betreff:* <br />
<select name="betreff" size="1" >
 <option value="">---Bitte W&auml;hlen---</option>
    <option>Frage zu...</option>
    <option >Kritik</option>
    <option >Sonstiges</option>
</select><br /><br />
<textarea cols="30" rows="20" name="textfeld"></textarea><br /><br />
<input type="submit" name="submit" value="Senden" />
 
 
    </form>
Datei 2 auswertung.php

Hier werde die daten nochmals ausgegeben damit evt. Fehleingaben verbessert werden können. Die mit include eingebunden formcheck.php kontrolliert lediglich ob pflichtpfelder ausgfüllt sind also ist vorerst passiv von Interesse

Code:
include('formcheck.php');
 
 echo "Bitte überprüfen Sie nochmals Ihrer Daten<p></p>";
 
 echo $_POST['titel'] . "<br />";
 echo "<b>Name:</b> " . $_POST['name'] . "<br />";
 echo "<b>Vorname:</b> " . $_POST['vorname'] . "<br />";
 echo "<b>Strasse:</b> " . $_POST['strasse'] . "<br />";
 echo "<b>Hausnummer:</b> " . $_POST['hausnummer'] . "<br />";
 echo "<b>Ort:</b> " . $_POST['ort'] . "<br />";
 echo "<b>Postleitzahl:</b> " . $_POST['plz'] . "<br />";
 echo "<b>E-Mail:</b> " . $_POST['e-mail'] . "<br />";
 
?>
 
 
<html>
<body>
<form method="POST" action="redirect.php">
<input type="submit" name="ok" value="Senden" /> &nbsp; 
<a href="formular.php">Zurueck</a>
</form>
</body>
</html>
Datei redirect.php soll das ganze dann abschicken.

Code:
<?php 
  include('auswertung.php');
 $message = "";
 
 $message  = $_POST['name'];
 $message .= $_POST['vorname'];
 
 
 
 $emailAdresse = 'sende@zu.de';         
 $emailBetreff = "Anfrage";           
 $absender  = 'From: absender@yourdomain.de' . "\r\n" .  
         'Reply-To: antwort@yourdomain.de';   
 
 
 
 if (isset($_POST['ok']))
 {
 
 
  mail($emailAdresse,$emailBetreff,$message,$absender);
 }
 
header("Location: successful.php");
?>
Damit hier jetzt nicht tage lang die anfänger Code's studiert werden müssen schreibe ich noch mal kurz mein Vorhaben.

Formular.php

Stellt das Formular dar und schickt die daten an die auswertung.php

auswertung.php

Zeigt dem Benutzer seine Eingaben und bei klick auf senden geht es per method="post" und action="redirect.php" zu redirect.php

redirect.php (die datei heisst so weil die erst für was anders fungierte)

Soll die daten an die angegeben E-Mail adresse schicken.
So dann bin ich mal gespannt Und bitte nicht so hart mit der Kritik bin noch frisch in Sachen PHP.

Gruß

CueP

Geändert von cuep (25.05.2008 um 23:11 Uhr).
cuep ist offline  
Alt 25.05.2008, 23:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Ganz einfacher Fall (keine Kritik): Requestdaten halten nur für das aufgerufene Script. Da auswertung.php lediglich ein Button Feld im Form enthält, ist dessen Wert das einzige, was in redirect.php an POST Daten ankommt.

Lösungen:
- hidden fields (<input> mit hidden Type)
- Sessions oder sonstige serverseitige Datenspeicherung

Die Lösung mit dem Backlink ist sowieso nicht ideal. Um beide Probleme gleichzeitig zu lösen schau Dich mal nach dem Stichwort "Affenformular" um (gibts auch was im Manual zu).

Geändert von nikosch (25.05.2008 um 23:08 Uhr).
nikosch ist offline  
Alt 26.05.2008, 18:11  
Neuer Benutzer
 
Registriert seit: 12.05.2008
Beiträge: 21
PHP-Kenntnisse:
Fortgeschritten
cuep befindet sich auf einem aufstrebenden Ast
Standard

Danke schön erst mal für die schnelle und hilfreiche Antwort und vor allem für die Erläuterung dazu .
Hmm vom Affenformular hatte ich schon mal was gelesen, werde ich mir mal anschauen.
Mal noch ne eine andere kleine Frage. Was genau ist immer mit Manual gemeint?
Ist das irgendwie was von php.net? Die doku oder so?

PS: Deine Antwort hätte ich jetzt nicht als Kritik aufgefasst

Gruß

CueP
cuep ist offline  
Alt 26.05.2008, 18:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Ja, genau. PHP: PHP Manual - Manual Falls Du unter Windows arbeitest, ist auch die *.chm Version sehr sinnvoll. Vor allem wegen des Index.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
 


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
[Erledigt] Durch Elemente in Array &quot;durchklicken&quot; horstenpeter PHP Tipps 2008 14 14.07.2008 16:17
[Erledigt] array mySQL Fellkneul Datenbanken 4 29.06.2008 13:03
[Erledigt] Hat ein Array einen Wert? silver_surfer PHP Tipps 2008 6 22.06.2008 12:20
[Erledigt] Formular und Ausgabe auf der gleiche Webseite b_i_g_b_o PHP Tipps 2008 9 13.06.2008 11:44
formular mit array anno PHP Tipps 2007 1 02.08.2007 14:52
array ausgabe falsch? se-clan PHP Tipps 2007 2 07.01.2007 22:20
Text Array, auch wenn keine Ausgabe Array ist? tinchen PHP Tipps 2006 3 02.09.2006 14:18
Array Ausgabe Nummerieren! PHP Tipps 2007 3 14.12.2005 16:43
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Array wie auslesen? PHP Tipps 2005 7 07.03.2005 11:43
Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
Array per Formular übergeben RoDa PHP Tipps 2004-2 10 16.11.2004 07:34
bbcode - Classe PHP-Fortgeschrittene 4 18.09.2004 17:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html formular ausgabe, http://www.php.de/php-tipps-2008/1373-erledigt-formular-ausgabe-array.html, php formular ausgabe, html formular mit ausgabe, html form array, php formular array, formularausgabe html, html ausgabe form, formularausgabe als php über e-mail, beim versenden wird in der mail nicht das ganze array, formular ausgabe, formular ausgabe php, mail array ausgeben, php formular auf ausgabeseite, html formular mit email ausgabe, html formular ausgabe als array, search form ausgabe, php formular ausgabe direkt, formular ausgabe steht immer array, php formular ausgabe und mail

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 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