PHP links ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Bones van Helghast
Mitglied
Beiträge: 157
Registriert: 19.09.2008 08:31

Re: PHP links ?

Beitrag von Bones van Helghast »

mad-manne hat geschrieben:Du musst die gewünschte Funktionalität wohl oder übel programmieren!

Du scheinst dem Trugschluss zu unterliegen, dass die Übergabe von Parametern(in deinem Fall per GET) an ein PHP-Skript bereits irgendetwas in dem Zielscript auslösen würde!
Dem ist aber überhaupt nicht so ... das Script muss die übergebenen Parameter "übernehmen" und dann was auch immer damit tun. Und für dieses "was auch immer" bist du als Programmierer zuständig.

Du solltest also wirklich dringend erstmal einige der weiter oben genannten Tipps beherzigen und zunächst einfache PHP-Beispiele durcharbeiten, damit du diese Grundlagen verstehst, bevor du aufwendigere Sachen programmieren willst!

Gruss,
Manne.
Richtig die einfache PHP-Beispiele durcharbeiten... Aber welche denn ? Nehme ich die Beispiele von oben genannt sind das auch nur wieder schnipsel die mich nicht weiter bringen.
Schauen wir uns mal selfhtml.org an die Seite ist super aufgebaut es wird alles klasse erklärt und es werden auch beispiele gegeben. Dort blickt auch ein reudiger anfänger durch.
Sowas hab ich bisher noch nie in PHP gesehen... Darum ist es warscheinlich auch so dass ich das noch nicht kann weil es für anfänger wirklich zu schlecht erklärt wird...
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: PHP links ?

Beitrag von gn#36 »

Es gibt sogar ganze Bücher dazu die online kostenfrei zur Verfügung stehen (auch wenn php 4 inzwischen vielleicht nicht mehr ganz auf dem Stand der Dinge ist, die Grundlagen haben sich ja nicht geändert): http://openbook.galileocomputing.de/php4/

Das Teil kaut alles an Grundlagen bis ins kleinste Detail durch, und zwar schön strukturiert nach Themengebieten inklusive der Datenbankanbindung, ich vermute mal dass das meiste auch weiterhin gültig bleibt (Kapitel zur Objektorientierten Programmierung kann man sich ggf. sparen da die definitiv in PHP 5 grundlegend geändert wurde).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: PHP links ?

Beitrag von Mahony »

Hallo
Wenn es auch etwas Geld kosten darf, kann ich dir die Videos von Video2Brain ans Herz legen (einfach mal googlen). Die kosten zwar etwas, aber da wird dir auch alles nötige genau erklärt.
Ansonsten kann ich dir noch das PHP 5 Praxisbuch und Referenz (Studienausgabe mit 1150 Seiten) empfehlen. Das Buch habe ich mir damals auch gekauft und es enthält wirklich so ziemlich alles über PHP 5. Zum Nachschlagen, ist so ein Buch überaus wertvoll.


Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: PHP links ?

Beitrag von gn#36 »

Dem kann ich nur zustimmen (auch wenn ich ein anderes Buch besitze), selbst wenn man sich irgendwann damit auskennt kann man in den fortgeschrittenen Themen der richtigen Bücher trotzdem immer noch den einen oder anderen Trick finden. Mich hat meines z.b. darauf gebracht den Error Handler von php durch eine selbstgestrickte Version zu ersetzen die mir dann alle Dinge die ich so brauche in einem vernünftigen Format in die Datenbank schreibt und die SQL Fehler usw. was üblicherweise eigentlich ja nicht geloggt würde gleich dazu.

Zumindest wenn man was vernünftiges aus den Büchern lernen möchte finde ich die Papierform immer noch besser als dauerhaft am Bildschirm zu sitzen, das tut man auch so noch genug.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Hexcode
Mitglied
Beiträge: 286
Registriert: 04.01.2010 20:56
Wohnort: nähe Köln
Kontaktdaten:

Re: PHP links ?

Beitrag von Hexcode »

Zum Nachschlagen, ist so ein Buch überaus wertvoll.
Naja... also bis ich in meinen Büchern was gefunden hab hab ich per Googel in 10 sekunden gefunden da die meisten Fragen irgendwo im Web erklärt werden. Bzw. es ja auch das php-refrenzhandbuch gibt, so kann man sich für jede Funtkion schnell die Parameter etc. aneignen...
Btw. um zu überprüfen ob z.b. $_GET['section'] gegeben ist kannst du

Code: Alles auswählen

if(isset($_GET['section))
{
 echo "ist da";
}
else
{
 echo "ist nicht da";
}
zum überprüfen ob das GET z.b. news ist geht wie normal auch:

Code: Alles auswählen

if($_GET['section] == "news")
{
}
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: PHP links ?

Beitrag von gn#36 »

Natürlich kann man alles was man gerade so braucht aber nicht im Kopf hat im Internet nachsehen das mache ich auch so. Wenn man aber noch kein grundlegendes Verständnis für die Sprache hat halte ich ein Buch für sinnvoller, ebenso wenn man sich neue Programmierkonzepte aneignen möchte oder einfach nur auf der Suche nach neuen Ideen ist. Ein Buch beschreibt das meist viel genauer als die Beschreibungen im Internet so dass man auch den Sinn/Unsinn gewisser Konstrukte vermittelt bekommt. Als Funktionsreferenz wenn ich gerade mal nicht weiß in welcher Reihenfolge [php:str_replace] seine Parameter erwartet oder wie jetzt genau die Funktion hieß mit der man ein Verzeichnis öffnen und systematisch durchsuchen kann braucht man kein Buch (auch wenn man Probleme wie zweiteres obiges möglicherweise im Buch wenn man es komplett durchgelesen hat schneller finden könnte als im Internet wenn man keine Idee hat und schlechte Suchbegriffe verwendet).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Bones van Helghast
Mitglied
Beiträge: 157
Registriert: 19.09.2008 08:31

Re: PHP links ?

Beitrag von Bones van Helghast »

Ai-Caramba.
Ich hab mal mit etwas leichtem angefangen und mal etwas zusammen geschrieben dass einen ganzen Datensatz aus einer Tabelle entfernen soll.
Nachdem ich mal euere Beiträge n bisschen zusammen gelesen hab und auch die Links durchgeschaut hab ist nun folgendes dabei raus gekommen.
Es gibt eine andere Seite wo man Datensätze eingibt diese werden dann in einer Tabelle gespeichert (ACP)
Es gibt eine andere Seite wo alle Daten ausgegeben werden aber man sie auch gleichzeitig löschen kann (ACP)
Es gibt eine andere Seite wo eine Sicherheitsabfrage und die Funktion zum eintrag löschen ausgegeben wird. (ACP)
Es gibt ein eine andere Seite wo die Daten ausgegeben werden in einer Tabellenübersicht
Die Tabellenübersicht und das Eintragen funktioniert das Löschen (Mit so einem Link :wink: ) Funktioniert leider noch nicht... es wird nach dem ID= keine Datensatz-ID eingefügt...
deletetodo.func.php (Die Datei die alles ausführt und die Sicherheitsabfrage hat)

Code: Alles auswählen

								<?php
$id = $_GET[ID];
$loeschen = $_GET[Loeschen];

if ($loeschen == 1) {
$abfrage = mysql_query("SELECT * FROM todo WHERE ID = '$id' LIMIT 1");

$row = mysql_fetch_object($abfrage);

echo "<h3>Sicherheitsabfrage</h3>";
echo "<p>$row->text</p>";
echo "<p><a href=\"deletetodo.func.php?ID=$id&Loeschen=2\" target=\"_self\">Löschen</a></p>";
	}
if ($loeschen == 2) {
$do_it = mysql_query("DELETE FROM todo WHERE ID = '$id' LIMIT 1");
if ($do_it) {
echo "<p>Eintrag wurde erfolgreich gelöscht und ist nicht mehr in der Datenbank vorhanden.</p>";
			} 
            else 
            { echo "<p>Fehler beim Löschen der Daten:</p>"; }
            
echo "<p><a href=\"deletetodo.php\">Einträge anzeigen</a></p>";
					}
?>

deletetodo.php (Datei die alles ausgibt + Links zum löschen):

Code: Alles auswählen

								<?php
								include '../connect.php';
								
								$abfrage = mysql_query("SELECT * FROM todo");
								while ($row = mysql_fetch_object($abfrage)) {
								$id = $row->ID;
								echo "<table style=width:100%>";
								echo "<tr>";
								echo "<td align=center style=width:33%>&nbsp;</td>";
								echo "<td align=center style=width:33%>&nbsp;</td>";
								echo "<td align=center style=width:33%>&nbsp;</td>";
								echo "</tr>";
								echo "<tr>";
								echo "<td align=center style=width:33%></td>";
								echo "<td align=center style=width:33%>";
								echo $row->text;
								echo "</td>";
								echo "<td align=center style=width:33%><a href=\"deletetodo.func.php?ID=$id&Loeschen=1\" target=\"_self\">Eintrag löschen</a></td>";
								echo "</tr>";
								echo "</table>";
								echo "<hr>";
								    }
								if (mysql_num_rows($abfrage) == 0) { echo "<p>Keine Einträge vorhanden.</p>"; }


								?>
Kann mir einer sagen wo das Problem liegt dass an der stelle deletetodo.func.php?ID=$id&Loeschen=1 wenn es ausgeführt werden soll keine ID steht ?
Bei der ausgabe steht dann:
deletetodo.func.php?ID=&Loeschen=1
also fehlt die ID die dafür sorgt dass der Datensatz angewählt wird und anschließend gelöscht wird... Klicke ich dann auf bestätigung der sicherheitsabfrage ("Löschen") kommt dieser text:
Eintrag wurde erfolgreich gelöscht und ist nicht mehr in der Datenbank vorhanden.
aber der datensatz ist immernoch in der Tabelle vorhanden ?
Hexcode
Mitglied
Beiträge: 286
Registriert: 04.01.2010 20:56
Wohnort: nähe Köln
Kontaktdaten:

Re: PHP links ?

Beitrag von Hexcode »

Also ich hab grad nicht alzugenau gelesen, aber jede eingabe die in ne DB kommt ist potentiel unsicher.
Also mach aus eingaben die in die DB kommen wie z.b.

Code: Alles auswählen

$id = $_GET[ID];
lieber

Code: Alles auswählen

$id = mysql_escape_string($_GET[ID]);
in deinem letzten geposteten code muss das so aussehen:

Code: Alles auswählen

$id = $row['id'];
bzw. auch aus dem

Code: Alles auswählen

echo $row->text;
das machen

Code: Alles auswählen

echo $row['text'];
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: PHP links ?

Beitrag von Pyramide »

Ein genereller Tipp: select * is evil
KB:knigge
Hexcode
Mitglied
Beiträge: 286
Registriert: 04.01.2010 20:56
Wohnort: nähe Köln
Kontaktdaten:

Re: PHP links ?

Beitrag von Hexcode »

Jip, weil * alles abfragt und langsamer ist als wenn bei beispielsweise select ìd`,`text` macht
Antworten

Zurück zu „Coding & Technik“