Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Fragen eines PHP-Newbees“

michas

Nicht mehr ganz neu hier

AW: Fragen eines PHP-Newbees

Der KC-85/3 wurde der nicht in BasiCode programmiert? Ich kann mich noch gut an meinen Datenspeicher erinnern... Mein Kassettenband hat sich häufig sehr schön zerknittert...

Irgendwann hatte ich sogar das zusatzmodul für mehr RAM so ca 128kb oder so... war das viel.;-)
 

saila

Moderatorle

AW: Fragen eines PHP-Newbees

Der KC-85/3 wurde der nicht in BasiCode programmiert? Ich kann mich noch gut an meinen Datenspeicher erinnern... Mein Kassettenband hat sich häufig sehr schön zerknittert...

Irgendwann hatte ich sogar das zusatzmodul für mehr RAM so ca 128kb oder so... war das viel.;-)

Rentnertreffen oder wie?

Von dem Teil habe ich noch nichts gehört oder gesehen. Muss wohl mal in ein Computermuseum :D
 

KATERchen

Aktives Mitglied

AW: Fragen eines PHP-Newbees

Hallo und erst mal noch frohe Weihnachten!

Bitte entschuldigt daß ich mit aus der Diskussion ausgeklinkt hatte, aber ich hätte mich doch nur ständig wiederholt.
Nur noch mal soviel: Das was ich versuche mir an PHP beizubringen bringe ich mir nicht bei um programmieren zu können sondern um PHP zu können. Ich erstelle Webseiten und dazu baucht man nun mal PHP und kein C++ oder oder Basic oder was anderes. Das hat auch nichts mit "über den Tellerrand schauen" zu tun, ich brauche nichts anderes.
Und je mehr ich darüber nachdenke weiß ich auch nicht was falsch daran ist, wenn PHP einem vieles durchgehen läßt. Das Ergebnis ist doch, das es funktioniert - ob es das nun tut weil es richtig oder falsch programmiert ist, ist doch egal...

Ich hoffe, ich darf Euch trotz allem noch mal eine Frage stellen.
Es geht jetzt darum, die Bestellung abzuschicken. Dazu müssen zwei Tabellen und eine Datei ausgelesen werden.
Zuerst die Kunden-Tabelle um die Daten des Kunden zu bekommen (klappt)
dann den Warenkorb, um zu sehen, was der Kunde bestellt hat. Hier ist aber das Problem, daß er nur den ersten Datensatz verschickt. Wurde mehr bestellt, wird es nicht ausgelesen.
Und zum Schluß wird die Datei mit den Versandkosten ausgelesen (klappt auch)
Außerdem habe ich es bisher nur geschafft, einen der drei Punkte auch zu verschicken - wie bekomme ich alle drei in eine Mail?
Ich habe es auch schon per HTML-Mail versucht (was natürlich perfekt währe) aber da meckert er immer, sowie irgendwas PHP-Mäßiges drin ist.
Hier mal der komplette code:
PHP:
<?php
ob_start();
include("config.php");
if(!isset($_GET["action"])) $_GET["action"] = "";
$sid = $_SESSION["sid"];

$ausgabe = mysql_query ("SELECT * FROM kunden WHERE UserSession = '$sid'") or die ("Die Tabelle existiert nicht");
$row = mysql_fetch_array($ausgabe);

$kid = $row["kid"];
$anrede = $row["anrede"];
$name = $row["name"];
$vorname = $row["vorname"];
$strasse = $row["strasse"];
$hausnummer = $row["hausnummer"];
$plz = $row["plz"];
$ort = $row["ort"];
$telefon = $row["telefon"];
$email = $row["email"];
$date = $row["date"];

$best_textA = "
Es liegt eine Bestellung vor <br>
[Datum] :......$date <br><br>
[KundenID] :...$kid <br>
[Anrede] :.....$anrede <br>
[Vorname] :....$vorname <br>
[Name] :.......$name <br>
[Strasse] :....$strasse <br>
[Hausnummer] :.$hausnummer <br>
[PLZ] :........$plz <br>
[Ort] :........$ort <br>
[Telefon] :....$telefon <br>
[E-Mail] :.....$email <br> <br>
";

$result = mysql_query("SELECT * FROM warenkorb WHERE UserSession = '$sid'") or die ("Die Tabelle existiert nicht");
while($row = mysql_fetch_row($result))
{
$best_id = $row[0];
$bezeichnung = $row[1];
$preis = $row[2];

$best_textB = "
[ArtNr]: $best_id
[Beteichnung]: $bezeichnung
[preis]: $preis
";

$eintrag = "INSERT INTO $tb_verkauft(kid,anrede,name,vorname,strasse,hausnummer,plz,ort,email,telefon,UserSession,ArtNr,bezeichnung,preis)
VALUES ('$kid','$anrede','$name','$vorname','$strasse','$hausnummer','$plz','$ort','$email','$telefon','$sid','$best_id','$bezeichnung','$preis')"
or die ("die Tabelle existiert nicht");
$eintragen = mysql_query($eintrag);
}


$query=mysql_query("SELECT SUM(preis) FROM $tb_warenkorb WHERE UserSession = '$sid'");
$summe=mysql_result($query,0);

$dateiVK = fopen("vk.txt","r");
$vk = fgets($dateiVK, 6);
$vkosten = $vk;

$datei = fopen("mwst.txt","r");
$st = fgets($datei, 3);

$mwst = $summe/100 * $st ;
$mwst = number_format($mwst, 2, ',', ' ');
$summe_ausgabe = $summe ;
$summe_ausgabe = number_format($summe_ausgabe, 2, ',', ' ');
$gesamt = $vkosten + $summe ;
$gesamt = number_format($gesamt, 2, ',', ' ');


$best_textC = "
-----------------------------------------------------------------------
[Preis] :.....$summe_ausgabe Euro
[zuzüglich Versandkosten] :..... $vkosten Euro
[Gesamtpreis] :..... echo $gesamt Euro";

$best_mail_inhalt = array($best_textA, $best_textB, $best_textC);

mail($best_mail, $best_betreff, $best_textB, "FROM: $best_sender <$sendmail>");

$loeschen = "DELETE FROM $tb_warenkorb WHERE UserSession = ('$sid')";
$loesch = mysql_query($loeschen);

session_unset();
$_SESSION=array();

header ("Location: best_best.php");


@MYSQL_CLOSE($db);
ob_end_flush ();
?>
 

michas

Nicht mehr ganz neu hier

AW: Fragen eines PHP-Newbees

Das Ergebnis ist doch, das es funktioniert - ob es das nun tut weil es richtig oder falsch programmiert ist, ist doch egal...

Naja, programmieren ist wie Webdesign, alles eine Frage der Ästhetik :)

Deine Vorgehensweise ist übrigens ein ganz kleinwenig konfus. Und der "Algoritmus" zum Ermitteln und Versenden der Daten weniger schön.
Ich habe es mir aus Zeitmangel nicht detailert angesehnen. Aber wenn ich es richtig überblicke, müßte alles mit einer einzigen MySQL Abfrage funktionieren.

@Saila
Rentnertreffen oder wie?

Von dem Teil habe ich noch nichts gehört oder gesehen. Muss wohl mal in ein Computermuseum

Naja so alt bin ich ja noch nicht (Keine 30 :) ) Aber könnte es sein, daß Du zu der Zeit, als der KC 85/3 "aktuell" war, auf der "anderen" Seite der Mauer wohntest ;)

Und nun ab und ran ans Arbeiten...
 

KATERchen

Aktives Mitglied

AW: Fragen eines PHP-Newbees

Mit der Ästhetik hast Du schon recht. Aber da ich eh nicht verstehe was ich da schreibe kann ich auch nicht sehen ob es richtig ist oder nicht :D:D

Konfus, da hast Du sicher auch recht. Aber ich habe das Problem jetzt gelöst. Offenbar hatte ich einfach nur den Array falsch geschrieben. Ich wüßte aber nicht, wie das mit einer Abfrage funktionieren sollte. Drei Tabellen mit völlig verschiedenen Daten und einer Schleife...

Der Kunden-Bereich ist jetzt auch so ziemlich fertig (heute kommt mein Kunde und wird sicher überall was zu meckern haben und ich darf von vorne anfangen :) ) und dann werde ich es wohl auch in den nächsten Tagen hier mal reinstellen, in der Hoffnung es gibt noch jemanden hier, der mit die paar Punkte rauspicken kann, die ich wirklich richtig gemacht habe.
 

saila

Moderatorle

AW: Fragen eines PHP-Newbees

Hi,

also bei einem Shop sollte man schon wissen was man da schreibt :)

Das man letztlich auch hier eine Ordnung einhalten sollte, wird dir dann bewusst, wenn du nach einem Jahr das ganze überarbeiten musst/wirst.

Zuguter letzt: In die erste Zeile der Datei (jeder Datei oder Funktions-Datei) kommt
PHP:
<?php
error_reporting(E_ALL);
?>

Weis nicht ob ich es schon mitteilte, aber dieser Hinweis kann nicht oft genug genannt werden. Auch ein Server hat mal keine Lust mehr, wenn man ihn mit Fehlern füllt :lol:
 

KATERchen

Aktives Mitglied

AW: Fragen eines PHP-Newbees

Okay, ich habe diesen error_reporting jetzt reingenommen. Nun habe ich (wie Ihr sicher erwartet habt ;) ) totales Chaos.
Überall wo ein GET oder POST übernommen wird schlägt er Alarm - undefinierte Variable, undefinieter Index... ist doch Blödsinn, da ist noch nichts undefiniert.
Am schlimmsten ist es beim Kontakt-Formular - das ruft sich erst selbst auf um zu prüfen, ob alle Felder ausgefüllt sind und erst dann wird man weiter geleitet. Klar das beim ersten Aufruf einige Variablen nicht definiert sein können. - Was ist daran also falsch?
Hier mal der komplette Code des Formulars
PHP:
<?php
include("config.php");
if(!isset($_GET["action"])) $_GET["action"] = "";
$sid = $_SESSION["sid"];

?>
<!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">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<head>


</head>
<body>
<?php

    if(isset($_POST['ueberpruefung']))
  {
$anrede = $_POST["anrede"];
$name = $_POST["name"];
$vorname = $_POST["vorname"];
$strasse = $_POST["strasse"];
$hausnummer = $_POST["hausnummer"];
$plz = $_POST["plz"];
$ort = $_POST["ort"];
$tvorwahl = $_POST["tvorwahl"];
$telefon = $_POST["telefon"];
$fvorwahl = $_POST["fvorwahl"];
$fax = $_POST["fax"];
$email = $_POST["email"];
$nachricht = $_POST["nachricht"];

  $allesok = 1;

  if(empty($_POST['name'])){
  $allesok = 0;
  $error[name] = "ok";}

  if(empty($_POST['nachricht'])){
  $allesok = 0;
  $error[nachricht] = "ok";}

  if(empty($_POST['email'])){
  $allesok = 0;
  $error[email] = "ok";}

  if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$",$email)) {
  $allesok = 0;
  $error[email] = "ok1";
}
  }

  if($allesok){

$betreff = "Kontaktformular";
$betreff_kd = "Ihre Nachricht an Holzberührungen";
$extra = "MIME-Version: 1.0\n";
$extra .= "Content-type: text/html; charset=iso-8859-1\n";
$extra .= "From: Holzberührungen <$kont_empfaenger>\n";

$text1 = "
<html>
<head>
<title>Black</title>
</head>
<body>

</html>
</body>
";

$text2 = "
<html>
<head>
<title>Black</title>
</head>
<body>

</html>
</body>
";
mail($kont_empfaenger, $betreff, $text1, $extra);
mail($email, $betreff_kd, $text2, $extra);

echo "<meta http-equiv=\"refresh\" content=\"0; url=kont_best.php?UserSession=$sid \">";

  }

  else
  {
?>


<div id="container">

<div id="header">
    <div id="head_01"></div>
    <div id="headerNavi">
        <div class="headerNaviLink">&nbsp;&nbsp;<a href="../index.php">Home</a>&nbsp;&nbsp;|</div>
        <div class="headerNaviLink">&nbsp;&nbsp;<a href="self.php">Über mich</a>&nbsp;&nbsp;|</div>
        <div class="headerNaviLink">&nbsp;&nbsp;<a href="disclaimer.php">Disclaimer</a>&nbsp;&nbsp;|</div>
        <div class="headerNaviLink">&nbsp;&nbsp;<a href="agb.php">AGB</a>&nbsp;&nbsp;|</div>
        <div class="headerNaviLink">&nbsp;&nbsp;<a href="kontakt.php">Impressum / Kontakt</a>&nbsp;&nbsp;</div>
    </div>
    <div id="head_02">
        <div id="wk_klein_anzeige"><? include("wk_klein.php"); ?></div>
    </div>
</div>

<div id="content">
    <div id="textbox">
        <div id="tb_middle_inhalt">


<div id="kont_box">
<div class="h1">Kontakt</div>


<?php
if($error['name']=="ok"
OR $error['nachricht']=="ok"
OR $error['email']=="ok")
{?>
<div id="fehlermeldung">
    <div class="err">Bitte überprüfen Sie die markierten Felder</div>
</div>
<?}
elseif($error['email']=="ok1")
{?>
<div id="fehlermeldung">
    <div class="err">Die E-Mai-Adresse ist ungültig</div>
</div>
<?}?>


  <div id="kont_left">
<div id="best_formular">

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST" target="">

<div id="kont_zeile">
    <div id="kont_eingabe">
        <div class="kont_beschriftung">Anrede</div>
        <div class="kont_input"><input type="Text" name="anrede" value="<?php echo $_POST['anrede'];?>" size="5" maxlength="5" /></div>
    </div>
</div>

<div id="kont_zeile">

    <div id="kont_eingabe">
        <div class="kont_beschriftung">Vorname</div>
        <div class="kont_input"><input type="Text" name="vorname" value="<?php echo $_POST['vorname'];?>" size="15" maxlength="20" /></div>
    </div>

    <div id="kont_eingabe">
        <div class="kont_beschriftung">Name*</div>
        <?php if($error['name']=="ok"){?><div class="kont_input"><input class="error" type="Text" name="name" value="<?php echo $_POST['name'];?>" size="15" maxlength="20" /></div>
        <?php }else { ?><div class="kont_input"><input type="Text" name="name" value="<?php echo $_POST['name'];?>" size="15" maxlength="20" /></div><?php } ?>
    </div>
</div>


<div id="kont_zeile">
    <div id="kont_eingabe">
        <div class="kont_beschriftung">Strasse</div>
        <div class="kont_input"><input type="Text" name="strasse" value="<?php echo $_POST['strasse'];?>" size="15" maxlength="50" /></div>
    </div>

    <div id="kont_eingabe">
        <div class="kont_beschriftung">Nr</div>
        <div class="kont_input"><input type="Text" name="hausnummer" value="<?php echo $_POST['hausnummer'];?>" size="5" maxlength="5" /></div>
    </div>
</div>


<div id="kont_zeile">
    <div id="kont_eingabe">
        <div class="kont_beschriftung">PLZ</div>
        <div class="kont_input"><input type="Text" name="plz" value="<?php echo $_POST['plz'];?>" size="5" maxlength="" /></div>
    </div>

    <div id="kont_eingabe">
        <div class="kont_beschriftung">Ort</div>
        <div class="kont_input"><input type="Text" name="ort" value="<?php echo $_POST['ort'];?>" size="15" maxlength="50" /></div>
    </div>
</div>


<div id="kont_zeile">
    <div id="kont_eingabe">
        <div class="kont_beschriftung">Vorwahl:</div>
        <div class="kont_input"><input type="Text" name="tvorwahl" value="<?php echo $_POST['tvorwahl'];?>" size="4" maxlength="10" /><span class="best_slash">/</span></div>
    </div>

    <div id="kont_eingabe">
        <div class="kont_beschriftung">Telefon:</div>
        <div class="kont_input"><input type="Text" name="telefon" value="<?php echo $_POST['telefon'];?>" size="15" maxlength="15" /></div>
    </div>
</div>

<div id="kont_zeile">
    <div id="kont_eingabe">
        <div class="kont_beschriftung">Vorwahl:</div>
        <div class="kont_input"><input type="Text" name="fvorwahl" value="<?php echo $_POST['fvorwahl'];?>" size="4" maxlength="10" /><span class="best_slash">/</span></div>
    </div>

    <div id="kont_eingabe">
        <div class="kont_beschriftung">Fax:</div>
        <div class="kont_input"><input type="Text" name="fax" value="<?php echo $_POST['Fax'];?>" size="15" maxlength="15" /></div>
    </div>
</div>

<div id="kont_zeile">
    <div id="kont_eingabe">
        <div class="kont_beschriftung">E-Mail*</div>
        <?php if($error['email']=="ok1"){?><div class="kont_input"><input class="error" type="Text" name="email" value="<?php echo $_POST['email'];?>" size="" maxlength="50" /></div>
        <?php }else { ?><div class="kont_input"><input type="Text" name="email" value="<?php echo $_POST['email'];?>" size="" maxlength="50" /></div><?php } ?>
    </div>
</div>

<div id="kont_textarea">
    <div id="kont_eingabe">
    <div class="kont_beschriftung">Ihre Nachricht*</div>
        <?php if($error['nachricht']=="ok"){?><div class="kont_input"><textarea class="error" type="Text" name="nachricht" value=""  cols="30" rows="10"><?php echo $_POST['nachricht'];?></textarea></div>
        <?php }else { ?><div class="kont_input"><textarea type="Text" name="nachricht" value=""  cols="30" rows="10"><?php echo $_POST['nachricht'];?></textarea></div><?php } ?>
</div></div>

    <input type="hidden" name="ueberpruefung" value="1">

<div id="kont_submit">
    <div class="best_eingabe">
        <div class="kont_submit"><input class="submit" type="image" src="../images/mailen.gif" border="0" name="Abschicken" value="" /></div>
    </div>
</div>
</form>

<?php
// Der Else-Zweig wird geschlossen
}
?>
</div><!--best_formular-->
  </div>
  <div id="kont_right">

  </div>

</div>

    </div><!--tb_middle_inhalt-->
    </div><!--textbox-->
</div><!--content-->

<div id="footer"><img src="../images/footer.jpg" width="760" height="94" border="0" alt=""><div id="footerlink"><a href="agb.php#vk">Versandkosten</a></div></div>

<div id="c2">

</div>

</div> <!--container-->

</body>
<?
@MYSQL_CLOSE($db);
?>
</html>
 

Christian

verpeilt & verschallert

AW: Fragen eines PHP-Newbees

Würde mich allerdings auch interessieren, da ich bisher immer nur mit error_reporting(E_NONE); gearbeitet habe um somit die undefinierten Indexwarnungen zu unterdrücken.
Ich versuche auch immer strikt korrekten Code zu schreiben, habs bisher auch bei Arrayindexen immer mit if(isset($_GET["Var"])==true) gemacht und dennoch die Indexwarnung bekommen. Auch nach googeln wurde ich nicht fündig und denke daher, dass man diese Warnung in manchen Fällen einfach gar nicht umgehen kann? (Man könnte schon mit switch() aber das is für manche Sachen einfach zu kompliziert und zu zeitraubend.)

Oder weiß da jemand mehr als ich?
 

saila

Moderatorle

AW: Fragen eines PHP-Newbees

Hi,

also zuerst Peters Frage/Situation:

isset() Prüft ja ob die Var vorhanden ist bzw. existiert. Ergo ist dein Code bzgl.:
PHP:
<?php
if( isset($_GET['var']) == true ) .....
?>

unnötig und auch falsch. Korrekt würde es so aussehen:
PHP:
<?php
if( isset( $_GET['var'] ) ) { 
// mach was draus
}

// oder 
if( isset( $_GET['var'] )  AND $_GET['var'] == 'xy' ) {
// mach was damit
}
?>

isset() gibt also true zurück, wenn die Var vorhanden ist oder false wenn nicht.

@KATERchen,

machst du es korrekt, musst du jede übergebene Var ob per GET oder POST erst mal indizieren. Dazu eben auch die Prüfung mit isset();

Natürlich geht auch switch, aber hier muss man bereits im Voraus wissen, was genau in der Prüfung erfolgen muss und wie ggf. die Rückgabe auszusehen bzw. erfolgen muss.


Man kann auch die if/elseif/else bzgl. globaler vordefinierter Variablen in eine Funktion packen, um das ganze deutlich abzukürzen.
 

michas

Nicht mehr ganz neu hier

AW: Fragen eines PHP-Newbees

@Katerchen...

Prinzipiell machst Du es so (am Beispiel deiner Strasse)

Am Anfang des Scriptes prüfst Du ob vorhanden, und wenn nicht initialisierst Du die Variable...
PHP:
$strasse = (isset($_POST['strasse']))?$_POST['strasse']:'';

Und unten im Quelltext verwendest Du die Variable...
HTML:
    <div id="kont_eingabe">
        <div class="kont_beschriftung">Strasse</div>
        <div class="kont_input"><input type="Text" name="strasse" value="<?php echo $strasse;?>" size="15" maxlength="50" /></div>
    </div>

Und schon gibts da keine Fehlermeldung... :)
 

Christian

verpeilt & verschallert

AW: Fragen eines PHP-Newbees

ups. das mit dem == true war überflüssig, fällt mir auch gerade auf ^_^ , bissl neben der Spur heute^^
 

saila

Moderatorle

AW: Fragen eines PHP-Newbees

na dann schreib doch direkt eine korrekte Funktion statt x mal isset() schreiben zu müssen ;) hast es ja fast - und in die funktion bindest du GET direkt noch mit ein.

@Katerchen...

Prinzipiell machst Du es so (am Beispiel deiner Strasse)

Am Anfang des Scriptes prüfst Du ob vorhanden, und wenn nicht initialisierst Du die Variable...
PHP:
$strasse = (isset($_POST['strasse']))?$_POST['strasse']:'';
Und unten im Quelltext verwendest Du die Variable...
HTML:
    <div id="kont_eingabe">
        <div class="kont_beschriftung">Strasse</div>
        <div class="kont_input"><input type="Text" name="strasse" value="<?php echo $strasse;?>" size="15" maxlength="50" /></div>
    </div>
Und schon gibts da keine Fehlermeldung... :)
 

michas

Nicht mehr ganz neu hier

AW: Fragen eines PHP-Newbees

Ich glaube, eine Funktion schreiben, die das überprüft wird Katerchen ein wenig überfordern... :)

Statt $_GET und $_POST könnte man ja auch $_REQUEST nehmen...
 
Zuletzt bearbeitet:

KATERchen

Aktives Mitglied

AW: Fragen eines PHP-Newbees

Eine Funktion zu schreiben überfordert mich in der Tat. Hab schon x-Mal Anlauf genommen um Funkionen überhaupt zu verstehen, kapier es aber einfach nicht :( - Jetzt will ich aber auch erst mal so schnell wie möglich dieses Projekt abschließen.

Das mit dem Isset ist soweit jetzt klar. Ein Problem habe ich aber bei den Zeilen:
PHP:
<?php
if($error['name']=="ok"
OR $error['nachricht']=="ok"
OR $error['email']=="ok")
{?>
<div id="fehlermeldung">
    <div class="err">Bitte überprüfen Sie die markierten Felder</div>
</div>
<?}
elseif($error['email']=="ok1")
{?>
Bzw. direkt bei den Input-Feldern mit:
PHP:
<?php if($error['name']=="ok"){?>

[edit]
Okay, das obere habe ich gelöst. Ich habe es einfach noch mal in die if(isset($_POST['ueberpruefung'])) reingenommen.
Das Script ist übrigens eins aus dem Internet - das mit den value-Einträgen hatte mich auch schon gewundet. Wollte es eigentlich schon probehalber umschreiben, bin dann aber doch weider von angekommen. Trotzden meckert er aber nach wie vor bei <?php if($error['name']=="ok"){?>
 
Zuletzt bearbeitet:

michas

Nicht mehr ganz neu hier

AW: Fragen eines PHP-Newbees

Na da machst Du es genauso :)
PHP:
$error['name'] = (isset($error['name']))?$error['name']:'';
$error['nachricht'] = (isset($error['nachricht']))?$error['nachricht']:'';
$error['email'] = (isset($error['email']))?$error['email']:'';

oder als schleife
PHP:
$aryVariablenZumInitialisieren = array('name','nachricht','email');

foreach($aryVariablenZumInitialisieren as $strVariable) {
  $error[$strVariable] = (isset($error[$strVariable]))?$error[$strVariable]:'';
}

Gruß
 

Christian

verpeilt & verschallert

AW: Fragen eines PHP-Newbees

Versuch doch mal das gnaze zu vereinfachen:)

statt jedes Feld abzufragen schreibe:
PHP:
<?
/**
 * Das Array $error ist so aufgebaut, dass $error["name_des_feldes"] = "ok" oder leer ist
 * 
 * Wenn man das ganze über foreach auflöst ( http://php.net/foreach ), kann man sowohl den Feldnamen aus dem Array ablesen als auch den Wert
 */
foreach($error as $Key=>$Value){
	/**
	 * Wenn in dem Feld "ok" steht, soll eine Fehlermeldung kommen:
	 */
	if($Value=="ok"){
		/**
		 * Jetzt die Fehlermeldung für das aktuelle Feld ausgeben.
		 * Vorteil: Der Benutzer sieht jedes Feld, was er falsch eingegeben hat, und nicht nur 
		 * eine allgemeine Meldung, dass irgendein Feld falsch eingegeben wurde/ vergessen wurde
		 */
		echo "Das Feld mit dem Namen ".$Key." wurde nicht ausgefüllt.<br>";
	}
}
und außerdem werden bei foreach() keine Fehlermeldung wegen undefinierter Indexe ausgegeben, weil foreach NUR indexe nimmt, die es auch gibt.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.182
Beiträge
2.582.048
Mitglieder
67.254
Neuestes Mitglied
MKP
Oben