[PHP/MySQL] Speicherung Problem

gfxclub

IMG-Load.de
ID: 103343
L
30 April 2006
723
38
Ich denke ich übersehe mal wieder das wesentliche :ugly:

PHP:
$db->query("insert into order_docs (docid,doc,time) values ('$docid','<pre>".mysql_escape_string($bestellform)."</pre>','$time')");

Kann mir jemand sagen warum er nur <pre></pre> Speichert und nicht denn Inhalt aus $bestellform?
 
Du meinst $bestellform oder? Wollte nur nicht denn ganzen Quelltext Post ;) Weiter oben wir Inhalt in die Variable übergeben.

PHP:
	$bestellform=str_replace("#kundendaten#",nl2br("$p_kundendaten"),$bestellform);	
$bestellform=str_replace("#produkte#",nl2br("$p_produkte"),$bestellform);	
$bestellform=str_replace("#zahlungsart#",nl2br(UCfirst("$p_zahlungsart")),$bestellform);
$bestellform=str_replace("#kontodaten#",nl2br("$p_kontodaten"),$bestellform);

und noch weiter oben wird auch in die p_ Variablen Inhalt gegeben :mrgreen:

PHP:
$p_kundendaten .="
Widerrufsbelehrung zugestimmt..: $_SESSION[d_wdfok]
Sofort ausführen?..............: $_SESSION[d_wdfok2]";


$p_zahlungsart = $_SESSION['d_zahlungsart'];

$p_kontodaten = "
Kontoinhaber...: $_SESSION[d_kontoinhaber]
Kontonummer....: $_SESSION[d_kontonummer]
Bankleitzahl...: $_SESSION[d_bankleitzahl]
Geldinstitut...: $_SESSION[d_geldinstitut]
";

und die $_SESSION Variablen bekommen noch weiter oben auch Inhalt denke brauche das nicht weiter Ausführen. :ugly:

Ps: und $db wir logischer weise Ausgeführt sonst würde er ja die anderen Inhalt nicht in die DB bekommen.

Ps:
PHP:
    $db->query("insert into order_docs (docid,doc,time) values ('$docid','<pre>".mysql_escape_string($bestellform)."</pre>','$time')");
    echo mysql_errno() . ": " . mysql_error(). "\n";
Sagt mir "0:".
 
Zuletzt bearbeitet:
dann gibt doch einfach mal den Teil deines Query's als "echo" aus :D

aber ich dachte immer, dass der teil der da dann drinne steht, dann so aussehen muss:
'<pre>'.mysql_escape_string($bestellform).'</pre>'

oder aber so:
'<pre>'".mysql_escape_string($bestellform)."'</pre>'


grübel... schon so ewig her als ich das getan hab *seufz*


lg
Acid
 
PHP:
    $newtext = mysql_escape_string($bestellform);
    echo "$newtext";


gibt nichts aus... *mhh* okay werde wohl das ganze Script noch mal durch gehen müssen ist wohl ein Fehler bei der Speicherung in $bestellform...
 
gibt nichts aus... *mhh* okay werde wohl das ganze Script noch mal durch gehen müssen ist wohl ein Fehler bei der Speicherung in $bestellform...

sag ich doch ;) aber um das zu prüfen muss man schon das ganze script sehen...

aber ich dachte immer, dass der teil der da dann drinne steht, dann so aussehen muss:
'<pre>'.mysql_escape_string($bestellform).'</pre>'

oder aber so:
'<pre>'".mysql_escape_string($bestellform)."'</pre>'

würde definitiv beides zu syntax fehler im query führen...
 
Für alle die Langeweile währen ich Arbeiten bin :p

und keine Blöden Kommentare :ugly:

PHP:
<?
/****************************************************/
/* CHANGES 28.03.2006, sm
/* 		- SQL-Abfrage an neue Ländergegebenheit angepasst $_SESSION['d_iso']
/****************************************************/

include("header.php");
?>

<h3>Bestellung erfolgreich</h3>
<hr size="1" noshade>
<br>

<?


if($_SESSION[end]==true) {
    include("footer.php");
    die();
}

//echo "select name, isocode from order_laender where isocode='$_SESSION[d_land]'";
$resl = $db->query("select name, isocode from order_laender where isocode='$_SESSION[d_land]'");

$land = $rowl['name'];

$resb = $db->query("select * from order_settings");
$rowb = $db->fetch_array($resb);

$p_kundendaten = "\n";
if($rowb['firma'] != "inaktiv")
{
    $p_kundendaten .= "Firma.....: ".$_SESSION['d_firma']."\n";
}
    $p_kundendaten .= "Anrede....: ".$_SESSION['d_anrede']."\n";
if($rowb['titel'] != "inaktiv")
{
    $p_kundendaten .= "Titel.....: ".$_SESSION['d_titel']."\n";
}
    $p_kundendaten .= "Vorname...: ".$_SESSION['d_vorname']."\nNachname..: ".$_SESSION['d_nachname']."\n";
if($rowb['geb'] != "inaktiv")
{
    $p_kundendaten .= "Geburtstag: ".$_SESSION['d_tag']." ".$_SESSION['d_monat']." ".$_SESSION['d_jahr']."\n";
}
    $p_kundendaten .= "Strasse...: ".$_SESSION['d_strasse']."\nPLZ/Ort...: ".$_SESSION['d_iso']."-".$_SESSION['d_plz']." / ".$_SESSION['d_ort']."\nLand......: ".$_SESSION['d_land']."\nTelefon...: ".$_SESSION['d_telefon']."\n";
if($rowb['mobil'] != "inaktiv")
{
    $p_kundendaten .= "Mobil.....: ".$_SESSION['d_mobil']."\n";
}
if($rowb['fax'] != "inaktiv")
{
    $p_kundendaten .= "Fax.......: ".$_SESSION['d_fax']."\n";
}
    $p_kundendaten .= "E-Mail....: ".$_SESSION['d_mail']."\n";
if($rowb['url'] != "inaktiv")
{
    $p_kundendaten .= "Website...: ".$_SESSION['d_url']."\n";
}
if($rowb['pkey'] != "inaktiv")
{
    $p_kundendaten .= "Produktkey: ".$_SESSION['d_key']."\n";
}
if($rowb['zusatz1status'] != "inaktiv")
{
    $p_kundendaten .= $rowb['zusatz1']."...: ".$_SESSION['d_zusatz1']."\n";
}
if($rowb['zusatz2status'] != "inaktiv")
{
    $p_kundendaten .= $rowb['zusatz2']."...: ".$_SESSION['d_zusatz2']."\n";
}
if($rowb['zusatz3status'] != "inaktiv")
{
    $p_kundendaten .= $rowb['zusatz3']."...: ".$_SESSION['d_zusatz3']."\n";
}

$p_kundendaten .="
Widerrufsbelehrung zugestimmt..: $_SESSION[d_wdfok]
Sofort ausführen?..............: $_SESSION[d_wdfok2]";


$p_zahlungsart = $_SESSION['d_zahlungsart'];

$p_kontodaten = "
Kontoinhaber...: $_SESSION[d_kontoinhaber]
Kontonummer....: $_SESSION[d_kontonummer]
Bankleitzahl...: $_SESSION[d_bankleitzahl]
Geldinstitut...: $_SESSION[d_geldinstitut]
";


// ----------------------
$currencySQL = $db->query("select waehrung from biz_settings");
$currency=$db->fetch_array($currencySQL);


$bestaetigungstext = "
Sehr geehrte(r) $_SESSION[d_anrede] $_SESSION[d_nachname],

vielen Dank für Ihre Bestellung.

Anbei die Bestelldaten:

$p_kundendaten

Zahlungsart: $p_zahlungsart;
";


if($_SESSION[d_zahlungsart]=="lastschrift") {

$bestaetigungstext .= "
$p_kontodaten
";
}

$bestaetigungstext .= "

Bestellte Produkte / Leistungen:

#produkte#
";

			$res = $db->query("select bezeichnung,preis,abrechnung from biz_produkte where produktid='$_SESSION[paketid]'");
			$row = $db->fetch_array($res);

			$intervall = explode(":",$row['abrechnung']);
			if(count($intervall)>1){
				$rechnungsintervall = "alle ".$intervall[1]." Monate";
			}else{
				$rechnungsintervall = $row['abrechnung'];
			}

			$resein = $db->query("select order_artikel.produkteinid, biz_produkte.preis from biz_produkte,order_artikel where order_artikel.produkteinid=biz_produkte.produktid and order_artikel.artikelid='$_SESSION[paketid]'");
			$rowein = $db->fetch_array($resein);

			if($_SESSION[calc]==true) {

			    $p_produkte = stripslashes($row[bezeichnung])."\n$_SESSION[calc_components]\n($row[preis] $currency[waehrung] $rechnungsintervall)\n";
			}
			else {
			    $p_produkte = stripslashes($row[bezeichnung])."\n($row[preis] $currency[waehrung] $rechnungsintervall)\n";
			}
			$b.= "1:$_SESSION[paketid];";

			if($rowein[preis]!="") {
			    $p_produkte .= "Einrichtung ($rowein[preis] $currency[waehrung] einmalig)";
			    $b .= "1:".$rowein[produkteinid].";";
			}


			$res = $db->query("select anzdomains,tldsmitaufpreis from order_artikel where artikelid='$_SESSION[paketid]'");
			$row = $db->fetch_array($res);

			$j = 0;
			$da = explode(";",$_SESSION[domainstoorder]);
			if(count($da)>0) {

			    for($i=0;$i<count($da);$i++) {
				if($da[$i]!="") {
    				    $j++;
				    $ta = explode(".",$da[$i]);
				    
				    $tb = explode("{KK}",$ta[1]);
				    $tld = ".".$tb[0];
					
				    $fd = explode("{KK}",$da[$i]);
				    $fulldomain .= "$fd[0]:";
				    
				    
				    $p_produkte .= "$da[$i]";

				    if($rowb[bkkvertrag]=="Y") {
				      if(strstr($da[$i],"{KK}")) {
					  $kkform = $rowb[formkk];
					  $ed = explode("{KK}",$da[$i]);
					  $kkform = str_replace("#domain#","$ed[0]",$kkform);
					  $docid = docid();
					  $time  = time();

					  $db->query("insert into order_docs (docid,doc,time) values ('$docid','$kkform','$time')");
					  $link = "KK Formular: ".CONF_BASEHREFBESTELLEN."showform.php?docid=$docid";
					  $hlinks .= "<a href=\"".CONF_BASEHREFBESTELLEN."showform.php?docid=$docid"."\">KK Formular für $ed[0]</a><br>";
				      }
				    }

	    			    if($j <= $row[anzdomains]) {
					$restld = $db->query("select tldid,aufpreis from order_tld where tld='$tld'");
					$rowtld = $db->fetch_array($restld);

					if(strstr($row[tldsmitaufpreis],"|$rowtld[tldid]|")) {
					    $resp = $db->query("select produktid,preis,abrechnung from biz_produkte where produktid='$rowtld[aufpreis]'");
					    $rowp = $db->fetch_array($resp);
						$pintervall = explode(":",$rowp['abrechnung']);
						if(count($pintervall)>1){
							$prechnungsintervall = "alle ".$pintervall[1]." Monate";
						}else{
							$prechnungsintervall = $rowp['abrechnung'];
						}

					    $p_produkte .= " ($rowp[preis] $currency[waehrung] Aufpreis $prechnungsintervall) $link";
					    $b .= "1:$rowp[produktid];";
					}
					else {
					    $p_produkte .= " (inklusive) $link";
					}

				    }
				    else {

					$rest = $db->query("select biz_produkte.produktid, biz_produkte.preis, biz_produkte.abrechnung from biz_produkte,order_tld
							    where biz_produkte.produktid=order_tld.preis and order_tld.tld = '$tld'");
					$rowt = $db->fetch_array($rest);
						$tintervall = explode(":",$rowt['abrechnung']);
						if(count($tintervall)>1){
							$trechnungsintervall = "alle ".$tintervall[1]." Monate";
						}else{
							$trechnungsintervall = $rowt['abrechnung'];
						}

					$p_produkte .= " ($rowt[preis] $currency[waehrung] $trechnungsintervall)";
					
					$b .= "1:$rowt[produktid];"; 
				    }
				    $p_produkte .= "\n";
				    $link = "";
				}
			    }
			}
			

if($rowb[bvertrag]=="Y") {
    if($p_zahlungsart=="rechnung") {
		$bestellform = $rowb[formrechnung];
    }

    if($p_zahlungsart=="lastschrift") {
		$bestellform = $rowb[formlastschrift];
    }

    $docid = docid();
    $time  = time();
	$bestaetigungstext=str_replace("#produkte#","$p_produkte",$bestaetigungstext);

	$bestellform=str_replace("#kundendaten#",nl2br("$p_kundendaten"),$bestellform);	
	$bestellform=str_replace("#produkte#",nl2br("$p_produkte"),$bestellform);	
	$bestellform=str_replace("#zahlungsart#",nl2br(UCfirst("$p_zahlungsart")),$bestellform);
	$bestellform=str_replace("#kontodaten#",nl2br("$p_kontodaten"),$bestellform);	

    $db->query("insert into order_docs (docid,doc,time) values ('$docid','<pre>".mysql_escape_string($bestellform)."</pre>','$time')");


    $bestelllink   = "Bestell-Formular: ".CONF_BASEHREFBESTELLEN."showform.php?docid=$docid";
    $hbestelllink  = "<a href=\"".CONF_BASEHREFBESTELLEN."showform.php?docid=$docid"."\">Bestell-Formular</a>";
}

$bestaetigungstext .= "
$p_produkte

$bestelllink

$rowb[btext]
";


//Bestandskunden abfangen
$getMwstSQL = $db->query("select mwstnational from biz_settings");
$getMwst = $db->fetch_array($getMwstSQL);

$kundenSQL = $db->query("select kundenid, nachname, vorname, mail from biz_kunden 
where nachname='".$_SESSION[d_nachname]."' AND vorname='".$_SESSION[d_vorname]."' AND mail='".$_SESSION[d_mail]."'");
$kundenrow = $db->fetch_array($kundenSQL);

if(mysql_affected_rows()==0){

	$pwd = makepwd();
	$time = time();
	
	if($land == "Deutschland") { $land = ""; }
	
	$db->query("insert into biz_kunden (firma,anrede,titel,vorname,nachname,geb_tag,geb_monat,geb_jahr,strasse,ort,land,isocode,plz,telefon,handy,fax,mail,url,bezahlart,kontoinhaber,
		    kontonummer,bankleitzahl,geldinstitut,regdatum,passwort,mwst)
		    values('$_SESSION[d_firma]','$_SESSION[d_anrede]','$_SESSION[d_titel]','$_SESSION[d_vorname]','$_SESSION[d_nachname]','$_SESSION[d_tag]','$_SESSION[d_monat]','$_SESSION[d_jahr]','$_SESSION[d_strasse]','$_SESSION[d_ort]',
		    '$_SESSION[d_land]','$_SESSION[d_iso]','$_SESSION[d_plz]','$_SESSION[d_telefon]','$_SESSION[d_mobil]','$_SESSION[d_fax]','$_SESSION[d_mail]','$_SESSION[d_url]','$_SESSION[d_zahlungsart]',
		    '$_SESSION[d_kontoinhaber]','$_SESSION[d_kontonummer]','$_SESSION[d_bankleitzahl]','$_SESSION[d_geldinstitut]','$time','".sha1($pwd)."','$getMwst[mwstnational]')
		    ");
	$kid = $db->insert_id();

    $resp = $db->query("select mail, kundenmenue from biz_profile where profilid='1'");
    $rowp = $db->fetch_array($resp);

    $rest = $db->query("select * from biz_mailtemplates where templatename='std_zugangsdaten'");
    $rowt = $db->fetch_array($rest);

    $mailbetreff = $rowt[mailbetreff];
    $mailtext    = $rowt[mailtext];

    $mailbetreff = str_replace("#benutzername#", "$kid", $mailbetreff);
    $mailbetreff = str_replace("#passwort#", "$pwd", $mailbetreff);

    $mailtext = str_replace("#benutzername#", "$kid", $mailtext);
    $mailtext = str_replace("#passwort#", "$pwd", $mailtext);
    $mailtext = str_replace("#profilkundenmenue#", "$rowp[kundenmenue]", $mailtext);

	if (!mail($_SESSION[d_mail],$mailbetreff,$mailtext,"From: ".$rowp[mail])){
		echo "Fehler beim versenden der Zugangsdaten";
	}

}else{
	$kid = $kundenrow[kundenid];
}

$datum = date("Y-m-d H:i:s"); 

$db->query("insert into biz_bestellungen (datum,kundenid,produkte,statusid,domains) values ('$datum','$kid','$b','1','$fulldomain')");

$bid = $db->insert_id();

$resj = $db->query("select * from order_jobs where produktid='$_SESSION[paketid]' order by pos");
while($rowj = $db->fetch_array($resj)) {
    if($rowj[manuell]=="Y") {
	$jobs .= "$rowj[jobbezeichnung]: ".CONF_BASEHREF."module/order/jobexec.php?jobid=$rowj[jobid]&bestellid=$bid&passwort=&ip=\n";
    }
    else {
	$o = shell_exec("$rowj[jobbezeichnung]: ".CONF_BASEHREF."module/order/jobexec.php?jobid=$rowj[jobid]&bestellid=$bid&passwort=&ip=");
    }
}

$restpl = $db->query("select * from biz_mailtemplates where templatename='std_bestellbestaetigung'");
$rowtpl = $db->fetch_array($restpl);

$mailbetreff = $rowtpl[mailbetreff];
$mailtext    = $rowtpl[mailtext]; // - ?


$restpl = $db->query("select * from biz_mailtemplates where templatename='std_bestellbenachrichtigung'");
$rowtpl = $db->fetch_array($restpl);

$mailbetreff2 = $rowtpl[mailbetreff];
$mailtext2    = $rowtpl[mailtext];


$d = strtotime($datum);

$mailtext = str_replace("#kundendaten#","$p_kundendaten",$mailtext);
$mailtext = str_replace("#kontodaten#","$p_kontodaten",$mailtext);
$mailtext = str_replace("#zahlungsart#","$p_zahlungsart",$mailtext);
$mailtext = str_replace("#produkte#","$p_produkte",$mailtext);
$mailtext = str_replace("#bestelllink#","$bestelllink",$mailtext);
$mailtext = str_replace("#signatur#","$rowb[btext]",$mailtext);
$mailtext = str_replace("#vorname#","$_SESSION[d_vorname]",$mailtext);
$mailtext = str_replace("#nachname#","$_SESSION[d_nachname]",$mailtext);
$mailtext = str_replace("#anrede#","$_SESSION[d_anrede]",$mailtext);
$mailtext = str_replace("#bestaetigungslink#",CONF_BASEHREFBESTELLEN."orderack.php?id=$bid-$d",$mailtext);

$mailtext2 = str_replace("#kundendaten#","$p_kundendaten",$mailtext2);
$mailtext2 = str_replace("#kontodaten#","$p_kontodaten",$mailtext2);
$mailtext2 = str_replace("#zahlungsart#","$p_zahlungsart",$mailtext2);
$mailtext2 = str_replace("#produkte#","$p_produkte",$mailtext2);
$mailtext2 = str_replace("#bestelllink#","$bestelllink",$mailtext2);
$mailtext2 = str_replace("#signatur#","$rowb[btext]",$mailtext2);
$mailtext2 = str_replace("#vorname#","$_SESSION[d_vorname]",$mailtext2);
$mailtext2 = str_replace("#nachname#","$_SESSION[d_nachname]",$mailtext2);
$mailtext2 = str_replace("#anrede#","$_SESSION[d_anrede]",$mailtext2);
$mailtext2 = str_replace("#jobs#","$jobs",$mailtext2);

$respp = $db->query("select mail from biz_profile where profilid='1'");
$rowpp = $db->fetch_array($respp);


if($rowb[bsendmail]=="Y") {
    mail("$_SESSION[d_mail]","$rowb[bbetreff]","$mailtext", "From: $rowb[babsendermail]");
    echo "Eine Bestätigungsmail wurde an Ihre Mailadresse $_SESSION[d_mail] verschickt.";

}
    mail($rowpp[mail],"Neue Bestellung $bid","$mailtext2", "From: $rowb[babsendermail]");

    //$bmail = $db->query("SELECT pdfkopie FROM biz_settings WHERE 1");
    //$bmail = $db->fetch_array($bmail);
    
    // Dominique Holger Schramm 14::01::2006-03:04
    // Versenden der Bestelldaten an den Verkäufer
    $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
    $mailtext_seller ="
    Es wurde eine neue derzeit unbestätigte Bestellung erfasst.\n\n
    Kundendaten:\n
    Anrede........: ".$_SESSION[d_anrede]."\n
    Firma.........: ".$_SESSION[d_firma]."\n
    Titel.........: ".$_SESSION[d_titel]."\n
    Name..........: ".$_SESSION[d_nachname]."\n
    Vorname.......: ".$_SESSION[d_vorname]."\n
    Strasse.......: ".$_SESSION[d_strasse]."\n
    Ort...........: ".$_SESSION[d_ort]."\n
    PLZ...........: ".$_SESSION[d_plz]."\n
    Geburtstag....: ".$_SESSION[d_tag].".".$_SESSION[d_monat].".".$_SESSION[d_jahr]."\n\n    
    Kommunikationsdaten:\n\n
    Telefonnummer.: ".$_SESSION[d_telefon]."\n
    Faxnummer.....: ".$_SESSION[d_fax]."\n
    Mobilfunk.....: ".$_SESSION[d_mobil]."\n
    Email.........: ".$_SESSION[d_mail]."\n
    Url...........: ".$_SESSION[d_url]."\n\n
    Widerrufsbelehrung und Abtretung:\n\n
    Widerruf akz..: ".$_SESSION[d_wdfok]."\n
    Widerruf abgt.: ".$_SESSION[d_wdfok2]."\n\n
    Verfolgungsdaten:\n\n
    Hostname......: $hostname\n
    IP Adresse....: ".$_SERVER['REMOTE_ADDR']."\n
    Computerdaten.: ".$_SERVER[HTTP_USER_AGENT]."\n";
     
    mail($rowb['bemail'], "Neue Bestellung vorhanden!", $mailtext_seller, "From: ISPworker < ".$rowb['bemail']." >");
	//Modification END
	//3:31
//    mail($rowb['bemail'], "Neue Bestellung eingegangen!", "Neue Bestellung vorhanden!", "From: ISPworker < ".$rowb['bemail']." >");
?>




<br>
<br>
<?=$rowb[bthank]?>
<br>
<br>
<?
if($rowb[bvertrag]=="Y") {
    echo $hlinks;
    echo "<br>";
    echo $hbestelllink;
}


if($_SESSION[calc]==true) {
    $db->query("delete from order_artikel where artikelid='$_SESSION[paketid]' and kurztext='time: $_SESSION[calc_id]'");    
}

$_SESSION[end] = true;

?>
<br>
<br>

<br>

<?include("footer.php");?>

Für alle die es Interessiert das nen teil von ISPWorker Script wo leider der Support nicht sooo besonders ist so das ich mich jetzt selber um das Problem kümmern möchte aber wie gesagt denn Fehler noch nicht gefunden habe.
 
Mal so nebenbei so wäre richtig:
PHP:
'<pre>".mysql_escape_string($bestellform)."</pre>'

Blöde Frage: register_globals??

bin zu faul mir den ganzen code anzuschaun :yawn:
*edit ups sehe grad hast ja im ersten post

*edit2
mach des überall mal richtig
$rowb[formrechnung] ==> $rowb['formrechnung']
vielleicht (obwohl ich´s net denke`liegt es daran. Kann es sein das du in der Settings tabelle Spaltennamen geändert hast?
PHP:
$resb = $db->query("select * from order_settings");
$rowb = $db->fetch_array($resb);
 
Zuletzt bearbeitet:
Select * :sick:

So würde es auch gehen:
PHP:
"<pre>'.mysql_escape_string($bestellform).'</pre>"
^^

Mir käme jetzt auch nur in den Sinn, dass die Spalte einen anderen Namen hat, wie strolch00 es bereits gesagt hat. Sonst ist da eigentlich kein Fehler (was $bestellform angeht, auf den Rest hab ich nicht geachtet ;))