php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.11.2010, 09:45  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von CKA Beitrag anzeigen
mein problem:
Dein Problem: Du liest nicht aufmerksam, oder bist nicht in der Lage, Antworten zu verstehen.

Zitat:
wenn ich ein feld auswähle wird dieses sofort in die db geschrieben, ohne die anderen felder zu berücksichtigen.
Natürlich, weil du immer noch für jedes Feld einen extra Request absetzt.

Zitat:
desweiteren wird das ausgewählte feld immer in die erste spalte der db geschrieben und nicht in die dazugehörige spalte.
[...]
ich meine, dass im php-teil kein fehler sein sollte.
Können wir nicht beurteilen.

Aber so lange du immer nur einen Wert an PHP sendest, kannst du auch nicht erwarten, dass mehrere eingetragen werden.

Code:
//xmlhttp.open("GET","Einlesen.php?name="+str+"&gruppe=str1&raum=str2&benutzer=str3&menge=str4&bga=str5",true);
//muss ich die weiteren strx-variablen auch in hochkomma setzen?
Die Antwort auf diese Frage findest du selber, wenn du dir den String, den du da zusammenbaust, zur Kontrolle mal per alert ausgeben lässt.

Außerdem wäre die Frage überflüssig, wenn du dich mit den Grundlagen von JavaScript beschäftigt hättest.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.11.2010, 10:14  
CKA
Neuer Benutzer
 
Registriert seit: 12.11.2010
Beiträge: 19
PHP-Kenntnisse:
Anfänger
CKA kann nur auf Besserung hoffen
Standard

hallo ihr 2, danke für die schnellen antworten.
habe versucht die funktion etwas anzupassen.
wenn der button Eingabe_inv gedrückt wird sollten jetzt doch die variablen str...str5 gefüllt werden.
wo genau taucht in meinem code mehr als 1 request nun auf? Wäre nett wenn ihr mir das zeigen könntet.

Code:
function Eingabe_inv ()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onclickstatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    str =document.getElementsByName("Name").value;
    str1=document.getElementsByName("Gruppe").value;
    str2=document.getElementsByName("Raum").value;
    str3=document.getElementsByName("Benutzer").value;
    str4=document.getElementsByName("Menge").value;
    str5=document.getElementsByName("Bga").value;
    }
  }

xmlhttp.open("GET","Einlesen.php?name="+str+"&gruppe="+str1+"&raum="+str2+"&benutzer="+str3+"&menge="+str4+"&bga="+str5+"",true);
xmlhttp.send();

}

Hier ist einmal der php-code eagle, damit du mal rein gucken kannst

PHP-Code:
<?php
$name
=$_GET["name"];
$gruppe=$_GET["gruppe"];
$raum=$_GET["raum"];
$benutzer=$_GET["benutzer"];
$menge=$_GET["menge"];
$bga=$_GET["bga"];
$Eingabe_inv=$_GET["Eingabe_inv"];

//fehleranzeige wird unterbunden
error_reporting(E_ERROR E_WARNING E_PARSE);

//$sql = "SELECT * FROM `inventar`"; 

//Server-Daten
$user_name "xxx";
$password "xxx";
$database "xxx";
$server "127.0.0.1";   

//serverconnection
$db_handle mysql_connect($server$user_name$password);
$db_found mysql_select_db($database$db_handle);

//abfrage ob daten vorhanden sind
if ($db_found
{
  
//echo "Bestellung found<br><br>";
}
else 
{
  print 
"DB NOT Found <br><br>";
  exit;
}
 
 
//$sql = "DROP TABLE inventar";

/*$sql = "
 CREATE TABLE `inventar` 
 (
 `id` INT( 20 ) NULL AUTO_INCREMENT PRIMARY KEY ,
 `name` varchar(20) NOT NULL , 
 `gruppe` varchar(20) NOT NULL ,
 `raum` varchar(20) NULL ,
 `benutzer` varchar(20) NULL ,
 `menge` varchar(20) NOT NULL,
 `bga` DECIMAL (5,2) NULL
 )
 ";*/

 
echo"
<table border='1'>
<tr>
<td>ID</td>
<td>Artikelname</td>
<td>Artikelgruppe</td>
<td>Raum</td>
<td>Nutzer</td>
<td>Menge</td>
<td>BGA</td>
</tr>"
;
 
 if (
$Eingabe_inv != TRUE)//&& (empty($name)!= TRUE))
   
{
 
$sql "
  INSERT INTO `inventar`
  ( 
  `id` , `name` , `gruppe` , `raum` , `benutzer` , `menge`, `bga` 
  ) 
  VALUES
  (
  NULL, '$name', '$gruppe', '$raum', '$benutzer', '$menge', '$bga'
  );
"
;
}

$db_erg mysql_query($sql
   or die(
"Anfrage fehlgeschlagen: " mysql_error());
   
$sql "SELECT * FROM `inventar` ORDER BY `id`"

$db_erg mysql_query$sql );
 
//neue zeile erstellen/fuellen und ausgeben
while ($zeile mysql_fetch_array$db_ergMYSQL_ASSOC))
{    echo  
"<tr><td>".$zeile['id']."</td><td>".$zeile['name']."</td><td>".$zeile['gruppe']."</td><td>".$zeile['raum']."</td><td>".$zeile['benutzer']."</td><td>".$zeile['menge']."</td><td>".$zeile['bga']."</td></tr>";
}
echo 
"</table>";
mysql_close($db_handle);
?>
CKA ist offline   Mit Zitat antworten
Alt 29.11.2010, 10:35  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von CKA Beitrag anzeigen
wenn der button Eingabe_inv gedrückt wird sollten jetzt doch die variablen str...str5 gefüllt werden.
Nein.

Zitat:
Code:
xmlhttp.onclickstatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    str =document.getElementsByName("Name").value;
    str1=document.getElementsByName("Gruppe").value;
Einen Event onclickstatechange gibt es nicht.

Und readyState 4 ist der Status eines bereits erfolgreich verarbeiteten Requests.
Du willst die Variablen, die du beim Senden des Requests verwenden willst, also erst mit Werten befüllen, wenn der Request bereits komplett fertig ausgeführt, und die Antwort des Servers wieder eingetroffen hast - das ist totaler Quatsch.

Außerdem existieren die Variablen str, str1, ... außerhalb der Funktion vermutlich gar nicht - oder hast du sie irgendwo global angelegt?

Lerne bitte JavaScript-Grundlagen.
Lerne bitte, mit der JavaScript-Fehlerkonsole umzugehen. (Die im IE taugt wenig, zum Entwickeln empfiehlt sich Firefox, ggf. auch noch mit der Firebug-Extension.)
Lerne bitte, technische Dokumentationen zu lesen. (Hier die von XMLHttpRequest, damit du dessen grundlegende Funktionsweise wenigstens verstanden hast, bevor du solchen Unfug wie oben produzierst. Wenn technische Dokus nicht dein Fall sind, dann arbeite wenigstens ein paar entsprechende Tutorials durch.)
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 30.11.2010, 10:11  
CKA
Neuer Benutzer
 
Registriert seit: 12.11.2010
Beiträge: 19
PHP-Kenntnisse:
Anfänger
CKA kann nur auf Besserung hoffen
Standard Problem mit Übergabe von Paramtern in URL

Hallo allerseits,
habe noch ein kleines problem, da beim click meines buttons nicht die daten aus der form via ajax in die url geschickt werden.

Code:
?name=undefined&gruppe=undefined&raum=undefined&benutzer=undefined&menge=undefined&bga=undefined
ich lasse mir per alert (string) den wert, welcher in den variablen stehen sollte, ausgeben.

ergebnis sieht man oben

Code:
Abfragefelder
<form>
...... 
<input type='button' value='artikel_erfassen' onclick='eingabe_inv()'>
</form>
und zu guter letzt meine funktion:
Code:
//wollte die variablen vor der funktion schonmal einlesen
var artikel=document.getElementsByName("artikel").innerHTML;
var gruppe=document.getElementsByName("gruppe").innerHTML;
var raum=document.getElementsByName("raum").innerHTML;
var benutzer=document.getElementsByName("benutzer").value;
var menge=document.getElementsByName("menge").value;
var bga=document.getElementsByName("bga").value;
var qstring ="?name="+artikel+"&gruppe="+gruppe+"&raum="+raum+"&benutzer="+benutzer+"&menge="+menge+"&bga="+bga; 

function eingabe_inv (artikel, gruppe, raum, benutzer, menge, bga)
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
  
xmlhttp.onclickstatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      //var content = xmlhttp.responseText;
			//document.getElementById('content').innerHTML = content;
      document.getElementByName("bga").innerHTML=xmlhttp.responseText;
document.getElementByName("artikel").innerHTML=xmlhttp.responseText;
document.getElementByName("gruppe").innerHTML=xmlhttp.responseText;
document.getElementByName("raum").innerHTML=xmlhttp.responseText;
document.getElementByName("benutzer").innerHTML=xmlhttp.responseText;
document.getElementByName("menge").innerHTML=xmlhttp.responseText;
    }
  }
var artikel=document.getElementsByName("artikel").innerHTML;
var gruppe=document.getElementsByName("gruppe").innerHTML;
var raum=document.getElementsByName("raum").innerHTML;
var benutzer=document.getElementsByName("benutzer").value;
var menge=document.getElementsByName("menge").value;
var bga=document.getElementsByName("bga").value;
var qstring ="?name="+artikel+"&gruppe="+gruppe+"&raum="+raum+"&benutzer="+benutzer+"&menge="+menge+"&bga="+bga; 
alert(qstring);
try
  {
  xmlhttp.open("GET","Einlesen.php" + qstring, true);
  alert("Daten wurden eingetragen!")
  }
catch (e)
  {
  alert("Daten konnten nicht eingetragen werden!");
  }
xmlhttp.send(null);
}
habe schon in diversen tutorials wie zb http://www.ajax-community.de/serverseitige-skriptsprachen/5627-ajax-php-formulareintraege-mysql-datenbank-schreiben.html nachgelesen und rumgegoogled.

bei manchen sah es relativ simpel aus, klappte leider nicht ganz so wie ich es mir vorgestellt hatte.
danke im voraus.
CKA ist offline   Mit Zitat antworten
Alt 30.11.2010, 10:41  
Erfahrener Benutzer
 
Registriert seit: 23.09.2010
Beiträge: 146
PHP-Kenntnisse:
Fortgeschritten
jabubo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie sieht der Rest von deinem Formular aus, aus dem bisherigen Code kann man leider noch nicht genau darauf schließen, was genau du versuchst.

Sofern deine Felder, die du mit getElementsByName() suchst, input-Felder sind, wirst du so nicht weit kommen, da diese keinen innerHTML-Bereich haben. Probier mal value statt dessen.
__________________
PHP online testen, zum Beispiel: md5, base64_decode, preg_match, urldecode und viele weitere...
jabubo ist offline   Mit Zitat antworten
Alt 30.11.2010, 11:30  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von CKA Beitrag anzeigen
habe noch ein kleines problem,
Ist immer noch die selbe Baustelle, also unterlasse es bitte, dafür neue Threads aufzumachen! *zusammenführ*

Zitat:
und zu guter letzt meine funktion:
Code:
//wollte die variablen vor der funktion schonmal einlesen
var artikel=document.getElementsByName("artikel").innerHTML;
Wozu willst du das vor dem Aufruf der Funktion schon machen?
Steht in den Eingabefeldern zu dem Zeitpunkt überhaupt schon irgendwas ...?

innerHTML abzufragen ist bei Eingabefeldern Unfug - nutze value.

Zitat:
xmlhttp.onclickstatechange=function()
Darauf, dass es einen solchen Event m.W. nicht gibt, wies ich dich bereits hin.
Zeige mir bitte die Stelle, an der du diesen dokumentiert gefunden hast.

Zitat:
habe schon in diversen tutorials wie zb http://www.ajax-community.de/serverseitige-skriptsprachen/5627-ajax-php-formulareintraege-mysql-datenbank-schreiben.html nachgelesen und rumgegoogled.

bei manchen sah es relativ simpel aus, klappte leider nicht ganz so wie ich es mir vorgestellt hatte.
Tutorials können dir auch nicht viel weiterhelfen, wenn dir so gut wie jedes Grundlagenwissen und logische Grundverständnis fehlt.

Die Aufgabe geht offenbar noch um einiges über deine Kragenweite.
Vergiss AJAX zunächst, und beschäftige dich mit den Grundlagen von JavaScript, sowie wie man damit mit dem DOM interagiert.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Antwort


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] CSV einlesen, Daten abgleichen und Werte ausgeben mastertnt PHP Tipps 2009 21 21.07.2009 16:12
Per IP mit fsockopen einen Port abfragen und Daten einlesen !? mikeobelo PHP Tipps 2009 5 01.07.2009 14:44
[Erledigt] Fsockopen() Frage Auslesen von Daten Quedepi PHP Tipps 2008 9 23.05.2008 11:24
frage: welche array funktion?? mrrosette PHP Tipps 2008 24 19.05.2008 16:22
Einlesen von Daten in Formular Fragenfrager PHP Tipps 2006 3 14.08.2006 10:11
frage zu template einlesen malaga PHP Tipps 2007 2 05.11.2005 11:37
JS: Frage zu onClick in Verbindung mit einer Funktion HTML, Usability und Barrierefreiheit 1 04.11.2005 16:06
Daten aus Datenbank einlesen... PHP Tipps 2005-2 2 26.09.2005 18:16
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Funktion um Daten in ein Textfeld zu schreiben? HTML, Usability und Barrierefreiheit 2 07.08.2005 12:36
usort Funktion, kleine Frage zur Arbeitsweise. PHP Tipps 2005-2 4 25.07.2005 23:08
daten mit positionsangabe einlesen PHP Tipps 2005-2 3 20.07.2005 16:45
Wie sende ich Daten an meine Datenbank? (Anfänger Frage) Datenbanken 15 28.10.2004 16:53
Formular Daten an Funktion in selber Datei übergeben PHP Tipps 2004 5 21.07.2004 13:42
[Erledigt] Frage zu Funktion &quot;imagestring()&quot; PHP Tipps 2004 1 20.07.2004 19:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xmlhttprequest seite in string laden, http://www.php.de/javascript-ajax-und-mehr/74401-frage-zum-einlesestring-mehrere-daten-einer-funktion-einlesen-2.html, wie lese ich die daten aus einer internetseite aus, javascript string zum zweite seite, string über port einlesen und in eine mysql datenbank schreiben, php funktion string einlesen, javascript daten aus formular in ein anderes formular einlesen, while ($zeile = mysql_fetch_array( $db_erg, mysql_assoc)) { echo \<tr>\; echo \<td>\. $zeile[\'artikelnummer\'] . \</td>\; echo \<td>\. $zeile[\'artikelname\'] . \</td>\;, javascript string bis zum blank einlesen, *xmlhttprequest *getelementsbyname, where gruppe = \.$_get[, php get string komplett einlesen, zwei html dateien ausgeben innerhtml, php string aus formular einlesen, ajax variablen aus dokument einlesen, *.csv einlesen daten

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:15 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