PHP übertragung fehlerhaft
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alte beitrag
beispiel
break
code
datei
datenbank
datum
fehler
frage
header
http
info
layout
post
set
textdatei
update
url
verbindung
wahrscheinlichkeit
-
Hallo ich hatte zu diesem Thema schon einmal einen Thread geschreiben da ich allerdings der letzte bin der dort einen Beitrag geschreiben hat kann ich jetzt selber nix mehr schreiben bzw antworten sondern nur noch editieren was die wahrscheinlichkeit das es jemand ließt sehr senkt also ich habe bie folgeden code das problem das die Daten nich an die Datenbnak übergeben werden. Wenn ihr euch wundert ich habe den code wieder in seine ausgangslage zurück gebracht da die Hilfestellunge damals nicht gheolfen hatten Ich hoffe das das nicht weiter Schlimm ist. Hier der code der nicht funktioniert:
<?php $verbindung = mysql_connect("localhost", "" , "") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("deine_startseite") or die ("Datenbank konnte nicht ausgewählt werden"); $uid=$_POST['name']; $uid = (int)$uid; $varqty = count($_POST); // It counts how many info portlets are we passing $varnames = array_keys($_POST); // Obtains variable names $varvalues = array_values($_POST);// Obtains variable values; $datei = fopen("counter.txt","r+"); $counterstand = fgets($datei, 10); $counterstand=$uid; rewind($datei); fwrite($datei, $counterstand); fclose($datei); $uid=$_POST['name']; $uid = (int)$uid; for($i=0;$i<$varqty;$i++){ // For each variable $semivalue = explode("|", $varvalues[$i]); // We break it when ‘|’ is found and saves it in $semivalur mysql_query("UPDATE layouts SET `column`='$semivalue[0]' WHERE `user`='$uid' AND `header`='$varnames[$i]'"); // Saves each portlet column belongness mysql_query("UPDATE layouts SET `yindex`='$semivalue[1]' WHERE `user`='$uid' AND `header`='$varnames[$i]'"); // Saves each portlet ‘yindex’ } ?>
Wenn ich jetzt aber die uid festlege auf 3 als so:
<?php $verbindung = mysql_connect("localhost", "" , "") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("deine_startseite") or die ("Datenbank konnte nicht ausgewählt werden"); $uid=$_POST['name']; $uid = (int)$uid; $varqty = count($_POST); // It counts how many info portlets are we passing $varnames = array_keys($_POST); // Obtains variable names $varvalues = array_values($_POST);// Obtains variable values; $datei = fopen("counter.txt","r+"); $counterstand = fgets($datei, 10); $counterstand=$uid; rewind($datei); fwrite($datei, $counterstand); fclose($datei); $uid=$_POST['name']; $uid = (int)$uid; $uid=3; for($i=0;$i<$varqty;$i++){ // For each variable $semivalue = explode("|", $varvalues[$i]); // We break it when ‘|’ is found and saves it in $semivalur mysql_query("UPDATE layouts SET `column`='$semivalue[0]' WHERE `user`='$uid' AND `header`='$varnames[$i]'"); // Saves each portlet column belongness mysql_query("UPDATE layouts SET `yindex`='$semivalue[1]' WHERE `user`='$uid' AND `header`='$varnames[$i]'"); // Saves each portlet ‘yindex’ } ?>
funktionierd die übertragung komischerweise.
Ich hoffe ihr könnt mi helfen Und versteht warum ich eine neune Thread aufgemacht habe
Beitrag zuletzt geändert: 25.9.2009 19:01:50 von goldschau -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
goldschau schrieb:
Wenn ich jetzt aber die uid festlege auf 3 als so:
<?php $verbindung = mysql_connect("localhost", "" , "") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("deine_startseite") or die ("Datenbank konnte nicht ausgewählt werden"); $uid=$_POST['name']*1; $varqty = count($_POST); // It counts how many info portlets are we passing $varnames = array_keys($_POST); // Obtains variable names $varvalues = array_values($_POST);// Obtains variable values; $datei = fopen("counter.txt","r+"); $counterstand = fgets($datei, 10); $counterstand=$uid; rewind($datei); fwrite($datei, $counterstand); fclose($datei); for($i=0;$i<$varqty;$i++){ // For each variable $semivalue = explode("|", $varvalues[$i]); // We break it when ‘|’ is found and saves it in $semivalur mysql_query("UPDATE layouts SET `column`='$semivalue[0]' WHERE `user`='$uid' AND `header`='$varnames[$i]'"); // Saves each portlet column belongness mysql_query("UPDATE layouts SET `yindex`='$semivalue[1]' WHERE `user`='$uid' AND `header`='$varnames[$i]'"); // Saves each portlet ‘yindex’ } ?>
Versuche mal das.
Vielleicht sagst du uns auch den anderern Thread.
Ansonsten lass mal $uid ausgeben.
Beitrag zuletzt geändert: 25.9.2009 19:48:39 von jacr -
Der alte beitrag ist hier:
http://www.lima-city.de/thread/mysql-uebertragungsfehler-fehler
Ich lasse die $uid ausgebne welche ich per post bekomme und das ghet auch ohne porbleme ( die variable wird in die Textdatei ausgegeben) was hast du an dem code jetzt genauc veränder außer das *1 wenn ich fragen darf -
goldschau schrieb:
Der alte beitrag ist hier:
http://www.lima-city.de/thread/mysql-uebertragungsfehler-fehler
Ich lasse die $uid ausgebne welche ich per post bekomme und das ghet auch ohne porbleme ( die variable wird in die Textdatei ausgegeben) was hast du an dem code jetzt genauc veränder außer das *1 wenn ich fragen darf
In Gegensatzt zu deinen Beispiel wird die $uid nur einmal gesetzt.
Es macht keinen Sinn es nochmal zu setzten, wenn es sich nicht geändert hat.
Schreib einfach ein
echo $uid. " = ".$_POST['name'] ;
an die Stelle, wo die die Drei fest gesetzt hast.
Wenn die Ausgabe nicht "3 = 3" ist solltest du dich fragen warum.
Es könnte z.B. sein, dass sich $_POST['name'] geändert hat. -
Ich habe es jetzt mit den vergleich gemacht und ich bekomme 4=4 raus wenn die uid 4 ist trotzdem wird dies noch nicht richtig in de db übertragen Hier das Beispiel:
<?php $verbindung = mysql_connect("localhost", "root" , "") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("deine_startseite") or die ("Datenbank konnte nicht ausgewählt werden"); $uid=$_POST['name']; $uid = (int)$uid; $varqty = count($_POST); // It counts how many info portlets are we passing $varnames = array_keys($_POST); // Obtains variable names $varvalues = array_values($_POST);// Obtains variable values; $uid=$_POST['name']; $uid = (int)$uid; echo $uid. " = ".$_POST['name'] ; for($i=0;$i<$varqty;$i++){ // For each variable $semivalue = explode("|", $varvalues[$i]); // We break it when ‘|’ is found and saves it in $semivalur mysql_query("UPDATE layouts SET `column`='$semivalue[0]' WHERE `user`='$uid' AND `header`='$varnames[$i]'"); // Saves each portlet column belongness mysql_query("UPDATE layouts SET `yindex`='$semivalue[1]' WHERE `user`='$uid' AND `header`='$varnames[$i]'"); // Saves each portlet ‘yindex’ } ?>
Dann habe ich folgenden Test gemacht ich habe aus beiden Mysql_query diese Pasage rausgenommen:
und dann wird auch etwas in die Datenbank geschrieben wo die id =der user id ist Also gehe ich mal davon aus das die bieden variablen sich irgendwie beeinflussen.AND `header`='$varnames[$i]'
Beitrag zuletzt geändert: 26.9.2009 10:18:30 von goldschau -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage